我正在尝试使用python请求和beautifulsoup进行消费消费。基本上我正在爬亚马逊网页。我能够毫无问题地抓取首页。
r = requests.get("http://www.amazon.in/gp/bestsellers/books/ref=nav_shopall_books_bestsellers")
#do some thing
但是,当我尝试使用网址“#2”抓取第二页时
r = requests.get("http://www.amazon.in/gp/bestsellers/books/ref=nav_shopall_books_bestsellers#2")
我看到r的值仍等于1页的值。
r = requests.get("http://www.amazon.in/gp/bestsellers/books/ref=nav_shopall_books_bestsellers")
不知道是#2在向第二页发出请求时引起任何麻烦。我也在Google上搜索了有关问题,但找不到解决方法。用#values进行网址请求的正确方法是什么。如何解决这个问题。请指教。
您需要在href
描述分页的锚标记的属性中请求url 。在页面的底部。如果我在Google Chrome浏览器的开发者控制台中检查页面,url
则会发现第一页是这样的:
http://www.amazon.in/gp/bestsellers/books/ref=zg_bs_books_pg_1?ie=UTF8&pg=1
第二页的网址是这样的:
http://www.amazon.in/gp/bestsellers/books/ref=zg_bs_books_pg_2?ie=UTF8&pg=2
a
第二页的标签是这样的:
<a page="2" ajaxUrl="http://www.amazon.in/gp/bestsellers/books/ref=zg_bs_books_pg_2?ie=UTF8&pg=2&ajax=1" href="http://www.amazon.in/gp/bestsellers/books/ref=zg_bs_books_pg_2?ie=UTF8&pg=2">21-40</a>
因此,您需要更改请求网址。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句