我正在尝试通过检查以下某些条件将一些数据写入 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,并使用urllib2
python 中的模块读取 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 并从中获取数据呢?