摘要:本文基于,平臺(tái)完整項(xiàng)目代碼安裝安裝官網(wǎng)下載注意環(huán)境變量是否配置成功安裝為了安裝順利,請(qǐng)備好梯子安裝過(guò)程中注意以下報(bào)錯(cuò)信息解決辦法下載對(duì)應(yīng)版本的文件表示版本表示位下載后在文件目錄下執(zhí)行文件名創(chuàng)建項(xiàng)目創(chuàng)建創(chuàng)建在項(xiàng)目跟目錄執(zhí)行配置文件
本文基于python 3.7.0,win10平臺(tái); 2018-08安裝 安裝python完整項(xiàng)目代碼:https://github.com/NameHewei/python-scrapy
官網(wǎng)下載 https://www.python.org/
注意環(huán)境變量是否配置成功
安裝scrapy為了安裝順利,請(qǐng)備好梯子
pip install Scrapy
安裝過(guò)程中注意以下報(bào)錯(cuò)信息:
Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools"
解決辦法:
https://www.lfd.uci.edu/~gohl... 下載對(duì)應(yīng)版本twisted的whl文件
cp:表示python版本
amd64:表示64位
下載后在文件目錄下執(zhí)行: pip install Twisted-18.7.0-cp37-cp37m-win_amd64.whl(文件名)
創(chuàng)建項(xiàng)目創(chuàng)建scrapy:scrapy startproject youName
創(chuàng)建spider:scrapy genspider
如果抓取的內(nèi)容包含中文可配置:FEED_EXPORT_ENCODING = "utf-8"
報(bào)錯(cuò)誤信息403:把USER_AGENT加上(可在網(wǎng)站請(qǐng)求頭信息中查看)
編寫(xiě)items.py文件import scrapy class NovelItem(scrapy.Item): title = scrapy.Field() content = scrapy.Field()
這些即你需要保存的字段名
編寫(xiě)spiderimport scrapy # 引入自定義的items from myTest.items import NovelItem # # 繼承scrapy.Spider class NovelSpider(scrapy.Spider): # 爬蟲(chóng)名 name = "novel_spider" # 允許的域名 allowed_domains = ["http://www.danmeila.com"] # 入口url 扔到調(diào)度器里面去 start_urls = ["http://www.danmeila.com/chapter/20180406/29649.html"] def parse(self, response): movieList = response.xpath("http://*[@id="container"]/div[3]/div[2]/div[2]/div/div/ul/li") novelContent = NovelItem() for item in movieList: u = "http://www.danmeila.com" + item.xpath(".//a/@href").extract_first() yield scrapy.Request(u, callback= self.content_a, meta= { "nc": novelContent }, dont_filter = True) # 放到管道里否則 pipeline獲取不到 # 如果你發(fā)現(xiàn)拿到的內(nèi)容一直為空,注意是否被過(guò)濾了,即dont_filter沒(méi)有設(shè)置 def content_a(self, response): novelContent = response.meta["nc"] novelContent["title"] = response.xpath("http://*[@id="J_article"]/div[1]/h1/text()").extract_first() yield novelContent
注意以下幾點(diǎn):
采用xpath編寫(xiě),在瀏覽器中可以直接查看元素,找到要爬取內(nèi)容的標(biāo)簽,右鍵選copy xpath
extract_first()的使用;text() 獲取文本;@屬性名 獲取屬性值
在父節(jié)點(diǎn)下使用xpath路徑前要加./
去除換行空格用 xpath("normalize-space(".//div/text()")")
執(zhí)行導(dǎo)出為json: scrapy crawl your-spider-name -o test.json
如果出現(xiàn)報(bào)錯(cuò)信息:
async語(yǔ)法錯(cuò)誤,把用到該名稱(chēng)作為參數(shù)的文件全部作修改 把這個(gè)參數(shù)名改為其它即可
報(bào)錯(cuò) No module named "win32api": 到https://pypi.org/project/pypi...(下載文件pypiwin32-223-py3-none-any.whl 執(zhí)行 pip install pypiwin32-223-py3-none-any.whl )
歡迎交流 Github
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/44788.html
摘要:爬蟲(chóng)是我接觸計(jì)算機(jī)編程的入門(mén)。練練練本文推薦的資源就是以項(xiàng)目練習(xí)帶動(dòng)爬蟲(chóng)學(xué)習(xí),囊括了大部分爬蟲(chóng)工程師要求的知識(shí)點(diǎn)。拓展閱讀一文了解爬蟲(chóng)與反爬蟲(chóng)最后,請(qǐng)注意,爬蟲(chóng)的工作機(jī)會(huì)相對(duì)較少。 爬蟲(chóng)是我接觸計(jì)算機(jī)編程的入門(mén)。哥當(dāng)年寫(xiě)第一行代碼的時(shí)候別提有多痛苦。 本文旨在用一篇文章說(shuō)透爬蟲(chóng)如何自學(xué)可以達(dá)到找工作的要求。 爬蟲(chóng)的學(xué)習(xí)就是跟著實(shí)際項(xiàng)目去學(xué),每個(gè)項(xiàng)目會(huì)涉及到不同的知識(shí)點(diǎn),項(xiàng)目做多了,自然...
摘要:編寫(xiě)在文件夾下添加,文件這里用于獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)添加路由確保數(shù)據(jù)庫(kù)能連接成功后,便可以啟動(dòng)項(xiàng)目。本文只是輔助介紹快速搭建一個(gè)基本的項(xiàng)目,具體內(nèi)容請(qǐng)參考若有疑問(wèn)或錯(cuò)誤,請(qǐng)留言,謝謝 2018-08,本文適用于對(duì)egg有興趣想要了解的同學(xué)完整項(xiàng)目代碼:https://github.com/NameHewei/node-egg 項(xiàng)目主要文件目錄結(jié)構(gòu) |—— app |—— con...
摘要:快速入門(mén)首先,初步要做的就是快速構(gòu)建一個(gè)爬蟲(chóng)。然后把結(jié)果加入到一個(gè)隊(duì)列中。既然是入門(mén),我們肯定是先關(guān)心我們需要的。 因?yàn)楣卷?xiàng)目需求,需要做一個(gè)爬蟲(chóng)。所以我一個(gè)python小白就被拉去做了爬蟲(chóng)。花了兩周時(shí)間,拼拼湊湊總算趕出來(lái)了。所以寫(xiě)個(gè)blog做個(gè)記錄。 快速入門(mén) 首先,初步要做的就是快速構(gòu)建一個(gè)爬蟲(chóng)。 配置環(huán)境 Mac下安裝 1) 直接從官網(wǎng)下載 python下載官網(wǎng) 2) 是通過(guò)...
閱讀 1251·2023-04-26 03:02
閱讀 1313·2023-04-25 19:18
閱讀 2662·2021-11-23 09:51
閱讀 2644·2021-11-11 16:55
閱讀 2700·2021-10-21 09:39
閱讀 1786·2021-10-09 09:59
閱讀 2082·2021-09-26 09:55
閱讀 3610·2021-09-26 09:55