簡體   English   中英

從 Scrapy Spider 響應中選擇元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM