這篇文章將為大家詳細講解有關如何在python中使用scrapy模塊,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
二道江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!1.linux和mac操作系統(tǒng):
pip install scrapy
2.windows系統(tǒng):
先安裝wheel:pip install wheel
下載twisted:下載地址
安裝twisted:pip install Twisted?17.1.0?cp36?cp36m?win_amd64.whl
(記得帶后綴)
pip install pywin32
pip install scrapy
3.Anaconda(推薦)
在我一開始學python使用的就是python3.8,在安裝各種庫的時候,總會有各種報錯,真的有點讓人奔潰。Anaconda在安裝過程中就會安裝一些常用的庫,其次,當我們想要安裝其他庫時也很方便。當然大家也可以選擇安裝其他的一些軟件,
這里默認大家已經(jīng)安裝好scrapy庫,大家要記得要在命令行里輸入以下命令啊。(我使用的anaconda的命令行)
創(chuàng)建工程
scrapy startproject projectName
進入工程目錄:這里一定要進入到剛才創(chuàng)建好的目錄中
cd projectName
創(chuàng)建爬蟲文件:創(chuàng)建的爬蟲文件會出現(xiàn)在之前創(chuàng)建好的spiders文件夾下
scrapy genspider spiderName www.xxx.com
編寫相關代碼
執(zhí)行爬蟲文件
scrapy crawl spiderName
import scrapy class HelloSpider(scrapy.Spider): name = 'hello' # 爬蟲名稱 # 允許的域名:限定start_urls列表當中哪些url可以進行請求的發(fā)送 # 通常情況下我們不會使用 # allowed_domains = ['www.baidu.com'] # 起始的url列表:scrapy會自動對start_urls列表中的每一個url發(fā)起請求 # 我們可以手動添加我們需要訪問的url start_urls = ['https://www.baidu.com/','https://www.csdn.net/'] def parse(self, response): # 當scrapy自動向start_urls中的每一個url發(fā)起請求后,會將響應對象保存在response對象中 # 代碼一般是在parse方法中寫 print("response:",response)
相當于requests中的headers參數(shù)中的User-Agent
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68'
可以忽略或者不遵守robots協(xié)議
ROBOTSTXT_OBEY = False
只有程序出現(xiàn)錯誤的情況下,才顯示日志文件,程序正常執(zhí)行時只會輸出我們想要的結果
LOG_LEVEL='ERROR' == scrapy crawl spiderName --nolog //二者是等價的,當然還是推薦使用前者
未加LOG_LEVEL='ERROR'
加LOG_LEVEL='ERROR'
之后
scrapy 爬取文件保存為CSV文件中文亂碼的解決辦法
//下面的設置可能會導致繁體出現(xiàn),可以逐個試一下 FEED_EXPORT_ENCODING = "gb18030" FEED_EXPORT_ENCODING = "utf-8" FEED_EXPORT_ENCODING = "gbk"
目的:爬取百度網(wǎng)頁的百度熱榜
實例代碼
關于如何在python中使用scrapy模塊就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。