1. spider程式:
1import
scrapy, json
2from unsplashimagespider.items import
imageitem34
class
unsplashimagespider(scrapy.spider):5#
定義spider的名稱
6 name = '
unsplash_image
'7 allowed_domains = ['
unsplash.com']
8#定義起始頁面
9 start_urls = ['
']10def
__init__
(self):
11 self.page_index = 1
1213
defparse(self, response):14#
解析伺服器響應的json字串
15 photo_list = json.loads(response.text) #①16
#遍歷每張
17for photo in
photo_list:
18 item =imageitem()
19 item['
image_id
'] = photo['id'
]20 item['
download
'] = photo['
links
']['
download']
21yield
item
2223 self.page_index += 124#
25 next_link = '
'\26 + str(self.page_index) + '
&per_page=12'27
#28yield scrapy.request(next_link, callback=self.parse)
2. 在pipeline中使用urllib.request包直接下載圖片:
1from urllib.request import *23
class
unsplashimagespiderpipeline(object):
4def
process_item(self, item, spider):5#
6print('
----------
' + item['
image_id'])
7 real_url = item['
download
'] + "
?force=true"8
try:
9pass10#
開啟url對應的資源
11with urlopen(real_url) as result:12#
讀取資料
13 data =result.read()14#
開啟檔案
寫入讀取的資料
17f.write(data)
18except:19
print('
' % item['
image_id
'])
scrapy 爬取流程
什麼時候到pipeline,什麼 時候到spider這個就不說了,這個是框架跳轉到的流程 關鍵是訪問之前要登入怎麼辦,資料還要注入呢 這是個列表,裡面就是爬取的鏈結了 我們前面爬取就只是寫了乙個,但是其實可以寫多個 鏈結又是怎麼訪問的呢 這東西你就可以手動提取鏈結返回了 這東西你就得好好注意了 從入...
scrapy 爬取小說
速度是相當的快的 爬取整站的 最後結果儲存至mongodb資料庫 pycharm開發還是很好用的 建立專案 scrapy startproject daomubiji 執行專案 scrapy crawl daomubi settings default request headers items t...
scrapy爬取噹噹
import scrapy from items import dangdangitem class ddspider scrapy.spider name dd allowed domains dangdang.com start urls def parse self,response 使用xp...