【问题标题】:Extracting links with specific class using css selectors使用 css 选择器提取具有特定类的链接
【发布时间】:2018-07-05 01:23:18
【问题描述】:

我有以下 HTML 结构
我想用 class:dev-link

提取所有链接
<a class="dev-link" href="mailto:info@jourist.com" rel="nofollow" title='Photoshoot"</a> 

我正在使用下面的代码来提取scrapy中的链接

response.css('.dev-link::attr(href)').extract()

我得到了正确的输出,但这是使用 css 选择器的正确方法吗??

【问题讨论】:

  • 如果你使用python,为什么不使用正则表达式?

标签: python html css scrapy


【解决方案1】:

正如您在Scrapy Documentation 中看到的,有两种方法可以废弃数据,CSS 选择器XPath 选择器 都可以正常工作,但 XPath 需要一些练习才能成为专家,在我看来,Xpath 在特殊情况下更强大,你可以比 CSS 选择器更容易地废弃数据(当然你也可以使用 CSS 选择器来获取它们),

你做的是对的

 link = response.css('.dev-link::attr(href)').extract_first()

你也可以通过以下方式获得它

link = response.xpath('/[contains(@class,’dev-link’)]/@href').extract_first()

【讨论】:

    猜你喜欢
    • 2015-09-02
    • 2014-09-07
    • 2011-06-03
    • 2017-03-27
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    相关资源
    最近更新 更多