-1

我正在尝试通过检查以下某些条件将一些数据写入 csv 文件

我将在文本文件中有一个 url 列表,如下所示

网址.txt

www.example.com/3gusb_form.aspx?cid=mum
www.example_second.com/postpaid_mum.aspx?cid=mum
www.example_second.com/feedback.aspx?cid=mum

现在我将遍历文本文件中的每个 url,并使用urllib2python 中的模块读取 url 的内容,并将在整个 html 页面中搜索一个字符串。如果找到所需的字符串,我会将该 url 写入 csv 文件。

但是当我试图将数据(url)写入csv文件时,它就像每个字符一样保存到一列中,而不是将整个url(数据)保存到一列中

h   t   t   p   s   :   /   /   w   w   w...... 

代码.py

import urllib2
import csv

search_string = 'Listen Capcha'

html_urls = open('/path/to/input/file/urls.txt','r').readlines()
outputcsv = csv.writer(open('output/path' + 'urls_contaning _%s.csv'%search_string, "wb"),delimiter=',', quoting=csv.QUOTE_MINIMAL)
outputcsv.writerow(['URL'])

for url in html_urls:
    url = url.replace('\n','').strip()
    if not len(url) == 0:
        req = urllib2.Request(url)
        response = urllib2.urlopen(req)
        if str(search_string) in response.read():
            outputcsv.writerow(url)

那么上面的代码有什么问题,需要做什么才能将整个 url(string) 保存到 csv 文件的一列中?

另外,我们如何将数据写入上述文本文件?

已编辑

我也有一个 url 假设http://www.vodafone.in/Pages/tuesdayoffers_che.aspx,这个 url 实际上会被重定向到http://www.vodafone.in/pages/home_che.aspx?cid=che浏览器中,但是当我尝试通过下面的代码时,它与上面给出的 url 相同

import urllib2, httplib

httplib.HTTPConnection.debuglevel = 1  
request = urllib2.Request("http://www.vodafone.in/Pages/tuesdayoffers_che.aspx")
opener = urllib2.build_opener()
f = opener.open(request)
print f.geturl()

结果

http://www.vodafone.in/pages/tuesdayoffers_che.aspx?cid=che 

那么最后如何使用 urllib2 捕获重定向的 url 并从中获取数据呢?

4

1 回答 1

2

将最后一行更改为:

            outputcsv.writerow([url])
于 2013-01-03T05:56:23.307 回答