爬蟲入門六(非同步的爬蟲框架scrapy)

2022-09-15 17:45:09 字數 1095 閱讀 5054

- 非同步的爬蟲框架。

- 高效能的資料解析,持久化儲存,全棧資料的爬取,中介軟體,分布式

- 框架:就是乙個整合好了各種功能且具有很強通用性的乙個專案模板。

linux:

pip3 install scrapy

windows:

a. pip3 install wheel

d. pip3 install pywin32

e. pip3 install scrapy

- 1.新建乙個工程:scrapy startporject proname

- settings.py:當前工程的配置檔案

- spiders:爬蟲包,必須要存放乙個或者多個爬蟲檔案(.py)

- 2.cd proname

- 3.scrapy genspider spidername www.***.com

- 4.執行工程:scrapy crawl spidername

- settings.py:

- 不遵從robots協議

- ua偽裝

- 指定日誌輸出的型別:log_level = 'error'

- 1.response.xpath('xpath表示式')

- 2.scrapy中的xpath解析,在進行資料提取的時候,xpath方法返回的列表中儲存的不再是字串,

而是儲存的selector物件,相關的字串資料是儲存在selector物件的data引數中,我們必須使用

extract()/extract_first()進行字串資料的提取

- extract():可以作用到列表中的每乙個列表元素中,返回的依然是乙個列表

- extract_first():只可以作用到列表中的第乙個列表元素中,返回的是字串

- 基於終端指令的持久化儲存

- 只可以將parse方法的返回值儲存到指定字尾的文字檔案中。

- scrapy crawl spidername -o ./duanzi.csv

- 基於管道的持久化儲存

爬蟲 非同步資料寫入框架 adbapi

資料庫pymysql的commit 和execute 在提交資料時,都是同步提交至資料庫,由於scrapy框架資料的解析和非同步多執行緒的,所以scrapy的資料解析速度,要遠高於資料的寫入資料庫的速度。如果資料寫入過慢,會造成資料庫寫入的阻塞,影響資料庫寫入的效率。通過多執行緒非同步的形式對資料進...

Scarpy爬蟲框架入門

1 python環境,這裡我使用的是python3.6,建議不要使用該版本之後的版本,因為後面還需要安裝對應python版本的pywin32程式,而該程式暫時沒有python3.6後面的對應版本。2 scrapy 框架,這個直接使用pip install 進行安裝就行。3 對應python版本的py...

爬蟲框架scrapy入門(一)

這段時間一直在學爬蟲,做了一些簡單的專案,爬取資料的過程中,被封過ip,需要翻牆,為了大規模的資料採集,開始學習scrapy框架。參照的是靜覓大神的 python3網路爬蟲開發實戰 本次爬取的 是scrapy官網 建議使用anaconda的一鍵安裝,我的電腦上同時有anaconda和pycham,一...