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

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

從 URL 列表下載圖像(Scrapy 向每個 URL 發送 2 個請求)

從 URL 列表下載圖像(Scrapy 向每個 URL 發送 2 個請求)

千萬里不及你 2023-02-07 09:33:43
所以我上周運行了一個爬蟲并生成了一個 CSV 文件,其中列出了我的項目所需的所有圖像 URL。將 CSV 文件讀取到 python 列表后,我不確定如何使用 Scrapy 通過管道簡單地下載它們。我嘗試了很多東西,最近我讓它開始工作,但它很丑而且不太正確。對于我的 10 個圖像 URL 列表,Scrapy 完成了 20 個請求的抓取,即使 10 個圖像被正確存儲。我可能在做一些愚蠢的事情,因為我對 Scrapy 還很陌生,但我已經通讀了 Scrapy 的大部分文檔,并通過谷歌搜索結果進行了多次試驗和錯誤。我只是想讓 Scrapy 為每個 URL 發送一個請求并下載相應的圖像。任何幫助,將不勝感激。我已經反對這個 3 天了。我的代碼:蜘蛛.pyimport scrapyimport csvimport itertoolsfrom ..items import ImgItemurls=[]with open('E:/Chris/imgUrls.csv') as csvDataFile:    csvReader = csv.reader(csvDataFile)    for elem in itertools.islice(csvReader, 0, 10):        urls.append(elem[0])                #Just doing first 10 for testing                                            #My Csv file is not the problem                                            # ...1 url per rowclass DwImgSpider(scrapy.Spider):    name = 'dw-img'    start_urls = urls    def parse(self, response):        item = ImgItem()        img_urls = urls        item['image_urls'] = img_urls        return item如果您想查看其他文件,我可以編輯它以添加它們。我只是認為這就是問題所在,因為它在技術上確實有效。再次感謝,感謝任何幫助或重定向。
查看完整描述

2 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

另一種方法。


import csv,os

import itertools

from simplified_scrapy import Spider, SimplifiedMain, utils

class ImageSpider(Spider):

  name = 'images'

  start_urls = []

  def __init__(self):

      with open('E:/Chris/imgUrls.csv') as csvDataFile:

          csvReader = csv.reader(csvDataFile)

          for elem in itertools.islice(csvReader, 0, 10):

              self.start_urls.append(elem[0])

      Spider.__init__(self,self.name) # Necessary

      if(not os.path.exists('images/')):

          os.mkdir('images/')

          

  def afterResponse(self, response, url, error=None, extra=None):

    try:

        utils.saveResponseAsFile(response,'images/','image')

    except Exception as err:

        print (err)

    return None 


SimplifiedMain.startThread(ImageSpider()) # Start download


查看完整回答
反對 回復 2023-02-07
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

感謝furas,我發現改變

start_urls = urls

start_urls = ['<just one url, the main website>']

修復了我的請求數量問題!謝謝你furas。


查看完整回答
反對 回復 2023-02-07
  • 2 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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