Python在这里。我试图提取一个链接,特别是亚马逊产品页面上“所有评论”的链接。我得到了一个意想不到的结果。你知道吗
import urllib2
req = urllib2.Request('http://www.amazon.com/Ole-Henriksen-Truth-Collagen- Booster/dp/B000A0ADT8/ref=sr_1_1?s=hpc&ie=UTF8&qid=1342922857&sr=1-1&keywords=truth')
response = urllib2.urlopen(req)
page = response.read()
start = page.find("all reviews")
link_start = page.find("href=", start) + 6
link_end = page.find('"', link_start)
print page[link_start:link_end]
相反,它输出: http://www.amazon.com/Ole-Henriksen-Truth-Collagen-Booster/product-reviews/B000A0ADT8
啊,好吧。如果您使用常见的伪装用户代理的伎俩,例如:
那你应该得到像
可能更接近你想要的。你知道吗
[免责声明:在你做之前,一定要确认亚马逊的TOS规则允许你做任何事情..]
我得到了与您相同的结果,但这似乎只是因为Amazon为您的Python脚本提供的页面与为我的浏览器提供的页面不同。我将下载的页面写到磁盘上,并将其加载到文本编辑器中,果然,链接以
ADT8"
结尾,没有所有的/ref=dp_top
内容。你知道吗为了帮助说服Amazon为您提供与浏览器相同的页面,您的脚本可能必须更像浏览器(例如,通过接受和发送cookies)。mechanize模块可以对此有所帮助。你知道吗
相关问题 更多 >
编程相关推荐