日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python多线程框架_Python爬虫第七天:多线程爬虫|Scrapy框架

發布時間:2025/3/15 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python多线程框架_Python爬虫第七天:多线程爬虫|Scrapy框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內容簡述:

一:多線程爬蟲

二:Scrapy框架

一:多線程爬蟲原理

【示例見代碼】

二:Scrapy框架

定義:Scrapy是基于Python實現,方便爬取網站數據、提取結構性數據的應用框架。

底層:使用Twisted異步網絡框架來處理網絡通訊,加快下載速度。

不用手動實現異步框架,包含了多種中間件接口,非常靈活。

Scrapy運行架構流程圖:

組件說明:

Scrapy Engine(引擎): 負責Spider、ItemPipeline、Downloader、Scheduler中間的通訊,信號、數據傳遞等。

Scheduler(調度器): 負責接收引擎發送過來的Request請求,并按照一定的方式進行整理排列,入隊,當引擎需要時,交還給引擎。

Downloader(下載器):負責下載引擎發送的所有Requests請求,并將其獲取到的Responses交還給引擎,由引擎交給Spider來處理。

Spider(爬蟲):負責處理所有Responses,分析提取數據,獲取Item字段需要的數據,并將需要跟進的URL提交給引擎,再次進入調度器

Item Pipeline(管道):負責處理Spider中獲取到的Item,并進行后期處理(如詳細分析、過濾、存儲等).

Downloader Middlewares(下載中間件):類似一個可以自定義擴展下載功能的組件。

Spider Middlewares(Spider中間件):類似一個可以自定擴展和操作引擎和Spider中間通信的功能組件(比如進入Spider的Responses以及從Spider出去的Requests)

簡單使用:(安裝)pip3 install scrapy

(1)創建項目scrapy startproject spider1(項目名稱)

(2)目錄結構

spider1

spider1

spiders????? ?????爬蟲目錄(寫代碼位置)

__init__.py

lala.py?????? 爬蟲文件

__init__.py

items.py????????? 定義數據結構地方

middlewares.py??? 中間件

pipelines.py????? 管道文件

settings.py?????? 項目配置文件

scrapy.cfg

通過指令創建爬蟲文件

cd spider1/spider1

scrapy genspider qiubai"www.qiushibaike.com"

此時在spider1/spider1/spiders里面自動創建一個qiubai.py

name:爬蟲的名字,啟動的時候根據爬蟲的名字啟動項目

allowed_domains:允許的域名。意思是爬取的時候這個請求要不要發送,如果是該允許域名下的url,就會發送,否則過濾掉這個請求。【列表允許多個域名】

start_urls:爬蟲起始url,是一個列表,里面可以寫多個,一般只寫一個

def parse(self, response):寫代碼的入口,parse函數名是固定。當收到下載數據時系統會自動調用

參數response,是一個響應對象,可從中獲取html字符串,然后解析之。

【溫馨提示】這個parse函數必須返回一個可迭代對象

(3)定制items.py,個性化定義數據結構格式。

(4)運行-打印response對象測試下

來到終端下:

cd spider1/ spider1/spiders

scrapy crawl qiubai

根據response獲取網頁內容

response.text? 字符串類型??response.body二進制類型

(5)運行,直接通過命令導出json格式

scrapy crawl qiubai -o qiubai.json

scrapy crawl qiubai -o qiubai.xml

scrapy crawl qiubai -o qiubai.csv

【注】window 安裝問題參考

pip install Scrapy

building 'twisted.test.raiser' extension

error: Microsoft Visual C++ 14.0 is required.Get it with "Microsoft Visual C++? BuildTools": http://landinghub.visualstudio.com/visual-cpp-build-tools

解決方案:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

下載twisted對應版本的whl文件(如我的Twisted-17.5.0-cp36-cp36m-win_amd64.whl),cp后面是python版本,amd64代表64位,運行命令:

pip install C:\Users\CR\Downloads\Twisted-17.5.0-cp36-cp36m-win_amd64.whl

pip install Scrapy

總結

以上是生活随笔為你收集整理的python多线程框架_Python爬虫第七天:多线程爬虫|Scrapy框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。