比如下面这个网站:
http://www.ncbi.nlm.nih.gov/pubmed?term=%28%222013%22%5BDate%20-%20Publication%5D%20%3A%20%222013%22%5BDate%20-%20Publication%5D%29
筛选了2013年发表的论文。
1.第一页只显示了20篇,总共有1132539篇
2.我点击next后,网页显示的是第二页的内容。这时url会变成http://www.ncbi.nlm.nih.gov/pubmed
3.再点击next,显示第三页的内容,这时url还是http://www.ncbi.nlm.nih.gov/pubmed
......
而如果你复制这个地址:http://www.ncbi.nlm.nih.gov/pubmed,浏览器并不会跳到第2/3/4...页。
我咨询了一个同学,他说这是用ajax处理的,但具体如何爬取剩下的内容他也不知道。
那么如何爬取所有的内容?(当然第一页的内容很简单,我已经爬取出来了)
先谢谢各位了。
beautifulsoup只能获得静态html,不能模拟界面操作。
你的需求,可以用selenium webdriver来实现。selenium webdriver可以模拟浏览器操作,比如你的需求,只要用webdriver的接口,找到下一页按钮的DOM节点,给它发送点击事件,就可以了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。