使用css / xpath选择器提取所有href

时间:2018-02-16 01:26:18

标签: xpath web-scraping css-selectors scrapy

我正在尝试提取页面上的所有href。

我尝试过以下方法:
response.css('a::attr(href)').extract()
response.xpath('//@href').extract()

它正在提取大部分链接,但不是全部......

更具体地说,我无法从这个网站上抓取twitter链接: https://www.acchain.org/

感谢任何见解。

3 个答案:

答案 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'