使用scrapy提取时出现的问题

093gszye  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(385)

我正在试用scrapy,目前正在尝试以下方法

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、groovy、bash、clojure、react native和docker感兴趣的软件工程师。重点:测试、ci和微服务。
结果:软件工程师对java、python、ruby、groovy、bash、clojure、, response.css(".Link--muted::attr(href)").get() 预期:djangofan@gmail.com
结果:无
你对我做错了什么有什么建议吗?

z31licg0

z31licg01#

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

''.join(response.xpath('(//p[contains(@class, "mb-1")])[1]//text()').extract())

将为您提供:

Software Engineer interested in Java, Python, Ruby, Groovy, Bash, Clojure, React-Native, and Docker.  Focus: Testing, CI, and Micro-Services.

相关问题