我刚刚开始使用scrapy,我对这种情况下的最佳实践很感兴趣。Scrapy的设计目的是使用CSS或XPath选择页面上的元素。Disqus注解似乎加载在iFrame中,这使得它们更难被抓取。我知道它们有一个API,但有没有办法使用xpath/css或其他简单的选择器来抓取它们?
下面是一个示例帖子:http://www.ibtimes.com/who-aaron-ybarra-suspected-seattle-pacific-university-shooter-obsessed-columbine-1595326
我试着只使用Disqus评论计数的xpath,但似乎不起作用。
In [36]: sel.xpath('//*[@id="main-nav"]/nav/ul/li[1]/a/span[1]').extract()
Out[36]: []
有没有其他方法可以得到计数?这里最好的策略是什么?
2条答案
按热度按时间gab6jxml1#
Disqus在第三方网站的iframe对象中,通过访问iframe中的“src”,您可以跟随链接,然后照常继续。
sh7euo9m2#
您需要使用无头浏览器。请尝试导入
scrapy-selenium
等模块