当下一页的后续链接在当前页面源代码中不可用时,请抓取网站的所有页面

时间:2013-05-28 05:41:39

标签: python web-scraping

您好我已经使用Python和Regular Expression成功删除了几个购物网站的所有页面。 但是现在我很难刮掉特定网站的所有页面,其中下一页跟进链接在当前页面中不存在,如此处http://www.jabong.com/men/clothing/mens-jeans/

该网站通过Ajax调用动态地在同一页面中加载下一页数据。所以在刮我时我只能抓第一页的数据。但我需要抓取该网站所有页面中的所有项目。

我无法获得这些类型网站的所有网页的源代码,其中下一页的后续链接在当前页面中不可用。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

当用户向下滚动时,网站似乎正在使用AJAX请求来获取更多搜索结果。可以在主要请求中找到初始搜索结果集:

http://www.jabong.com/men/clothing/mens-jeans/

当用户向下滚动时,页面会检测到它们何时到达当前结果集的末尾,并根据需要加载下一组:

http://www.jabong.com/men/clothing/mens-jeans/?page=2

一种方法是简单地继续请求后续页面,直到找到没有结果的页面。

顺便说一句,我可以通过在screen-scraper中使用代理工具来确定这一点。您也可以使用像Charles或HttpFox这样的工具。他们的关键是浏览网站并观察发出的HTTP请求,以便您可以在代码中模仿它们。