我正在试验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、Bash、Clojure、感兴趣。焦点:测试、CI和微服务.结果:对Java、Python、Ruby、Groovy、Bash、Clojure感兴趣的软件工程师
response.css(".Link--muted::attr(href)").get()
预期: djangofan@gmail.com结果:无
你对我做错了什么有什么建议吗?
发布于 2021-07-10 15:44:07
对于这些情况,使用xpath而不是css,因为有多个.mb-1,您需要隔离第一个.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.https://stackoverflow.com/questions/68328511
复制相似问题