首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Scrapy提取问题

用Scrapy提取问题
EN

Stack Overflow用户
提问于 2021-07-10 14:14:35
回答 1查看 64关注 0票数 1

我正在试验Scrapy,目前正在尝试以下几种方法

代码语言:javascript
复制
scrapy shell https://github.com/search?p=1&q=React+Django&type=Users

# FName LName
response.css(".mr-1::text").get()

# Headline
response.css(".mb-1::text").get()

# Location
response.css("#user_search_results .mr-3:nth-child(1)::text").get()

# Email
response.css(".Link--muted::attr(href)").get()

我现在遇到了这两个问题:

response.css(".mb-1::text").get()

预期:软件工程师对Java、Python、Ruby、Bash、Clojure、感兴趣。焦点:测试、CI和微服务.结果:对Java、Python、Ruby、Groovy、Bash、Clojure感兴趣的软件工程师

response.css(".Link--muted::attr(href)").get()

预期: djangofan@gmail.com结果:无

你对我做错了什么有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-10 15:44:07

对于这些情况,使用xpath而不是css,因为有多个.mb-1,您需要隔离第一个.mb-1并获取包含其所有子元素的文本。

示例:

代码语言:javascript
复制
''.join(response.xpath('(//p[contains(@class, "mb-1")])[1]//text()').extract())

会给你:

代码语言:javascript
复制
Software Engineer interested in Java, Python, Ruby, Groovy, Bash, Clojure, React-Native, and Docker.  Focus: Testing, CI, and Micro-Services.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68328511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档