我正在尝试提取页面上的所有href。
我尝试过以下方法:
response.css('a::attr(href)').extract()
response.xpath('//@href').extract()
它正在提取大部分链接,但不是全部......
更具体地说,我无法从这个网站上抓取twitter链接: https://www.acchain.org/
感谢任何见解。
答案 0 :(得分:3)
网站使用javascript生成部分内容,包括侧边栏(由https://www.acchain.org/js/sidebar.js生成)
抓取这些链接的最简单方法是执行javascript,例如使用浏览器 有多种方法可以做到这一点,但最简单的方法是使用scrapy-splash中间件。
答案 1 :(得分:0)
您可以使用Scrapy Tutorial的引用为此页面编写代码,因为它涉及javascript以生成正文内容。
答案 2 :(得分:-1)
它应该是//a/@href
在Linux bash上使用
xmllint --html --recover --xpath '//a/@href' test.html | sed -e 's/href/\nhref/g'