【发布时间】:2014-10-03 23:59:08
【问题描述】:
我正在尝试构建一个导入 csv 文件的抓取工具,然后将 csv 中的每一行附加到一个 url,然后为特定字段抓取该 url。到目前为止,该工具添加了数据的所有 url 和抓取,但它只返回前 2 个的数据并只显示其余的 url:
import urllib
import re
import requests
from numpy import genfromtxt
from time import sleep
my_data = genfromtxt('ASINS.csv', delimiter=',', dtype=None)
for ASIN in my_data[:20]:
url = "http://www.amazon.com/gp/product/" + ASIN[1:11]
sleep(1.5)
website_html = requests.get(url).text
print len(website_html)
print url
ranks = re.findall(r'#.\sin\s.*', website_html)
for rank in ranks:
print rank
输出只返回第一个的抓取,示例如下:
344781
http://www.amazon.com/gp/product/B00DPE9EQO
#1 in Beauty (<a href="http://www.amazon.com/gp/bestsellers/beauty">See Top 100 in Beauty</a>)
1378
http://www.amazon.com/gp/product/B00CD0H1ZC
327515
http://www.amazon.com/gp/product/B00GP184WO
1378
http://www.amazon.com/gp/product/B00CAZAU62
1378
http://www.amazon.com/gp/product/B00KCFAZTE
1378
http://www.amazon.com/gp/product/B00C7DYBX0
3
以及来自 csv 的片段:
B00DPE9EQO
B00CD0H1ZC
B00GP184WO
B00CAZAU62
B00KCFAZTE
B00C7DYBX0
B00IS8Y0HK
B00CKFL93K
B00DDT116M
B00GYF65TK
B00JV8L5N8
谁能给我任何关于它为什么会这样做的意见?
【问题讨论】:
标签: python html web-scraping python-requests