亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按 url 對 Scrapy 結果進行排序

按 url 對 Scrapy 結果進行排序

墨色風雨 2021-11-23 16:36:56
我剛開始使用 Scrapy 來抓取網站。我有 9000 多個網址要抓取。我已經嘗試過并且它起作用了,除了我想根據 url 在 json 文件中輸出結果(如果我從 url1 中抓取了 10 個項目,我希望這些項目與 url1 放在一個 json 對象中,對于 url2 等也是如此) .){"url1": "www.reddit.com/page1", "results1: {   ["name": "blabla",    "link": "blabla",   ],   ["name": "blabla",    "link": "blabla",   ],   ["name": "blabla",    "link": "blabla",   ] }, {"url2": "www.reddit.com/page2", "results2: {   ["name": "blabla",    "link": "blabla",   ],   ["name": "blabla",    "link": "blabla",   ],   ["name": "blabla",    "link": "blabla",   ] }是否可以這樣做,還是最好先抓取整個網站,然后在工作后對其進行排序?我現在的代碼:import scrapyclass glenmarchSpider(scrapy.Spider):    name = "glenmarch"    def start_requests(self):        start_urls = reversed([            'https://www.glenmarch.com/cars/results?make=&model=&auction_house_id=&auction_location=&year_start=1913&year_end=1916&low_price=&high_price=&auction_id=&fromDate=&toDate=&keywords=AC+10+HP&show_unsold_cars=0&show_unsold_cars=1?limit=9999',            'https://www.glenmarch.com/cars/results?make=&model=&auction_house_id=&auction_location=&year_start=1918&year_end=1928&low_price=&high_price=&auction_id=&fromDate=&toDate=&keywords=AC+12+HP&show_unsold_cars=0&show_unsold_cars=1?limit=9999'        ])        for url in start_urls:        yield scrapy.Request(url, callback=self.parse)    def parse(self, response):        for caritem in response.css("div.car-item-border"):            yield {                "model": caritem.css("div.make::text").get(),                "price": caritem.css("div.price::text").get(),                "auction": caritem.css("div.auctionHouse::text").get(),                "date": caritem.css("div.date::text").get(),                "auction_url": caritem.css("div.view-auction a::attr(href)").get(),                "img": caritem.css("img.img-responsive::attr(src)").get()            }
查看完整描述

1 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

簡單地使用response.url不會完成這項工作嗎?


yield {

    "url": response.url,

    # ...

}


查看完整回答
反對 回復 2021-11-23
  • 1 回答
  • 0 關注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號