[英]Selecting elements from a Scrapy Spider response
有人能帮我弄清楚如何从使用 Scrapy 抓取的这个页面中提取链接吗?
我已按如下方式修改了蜘蛛代码,但我正在努力弄清楚如何使用 Scrapy 选择器只生成我想要的链接。
import scrapy
class RMWSpider(scrapy.Spider):
name = "RMW"
def start_requests(self):
urls = [
'http://search.people.com.cn/cnpeople/search.do?pageNum=1&keyword=%C8%F0%B5%E4&siteName=news&facetFlag=true&nodeType=belongsId&nodeId=0'
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
links = response.css("ul").getall()
for link in links:
yield {
'link': link.css('a')
}
理想情况下,我想要一个包含搜索结果链接列表的 .json 文件。 关于如何理解 Scrapy 中选择器的使用的任何更一般的提示也将非常有帮助。
任何人都可以一如既往地提供任何帮助,我们将不胜感激。 谢谢!
我认为这就是你需要的:
URL_SELECTOR = "a::attr(href)"
urls = your_response.css(URL_SELECTOR).extract()
你应该明确地搜索scrapy文档,在这里你可以找到一些关于选择器的信息: Scrapy selectors
我发现对初学者非常有用的是scrapy shell: Scrapy shell doc ,您可以在其中测试命令并查看输出:)
希望它能解决你的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.