Scrapy的簡(jiǎn)單使用教程
在這篇入門教程中,我們假定你已經(jīng)安裝了python。如果你還沒(méi)有安裝,那么請(qǐng)參考安裝指南。
首先第一步:進(jìn)入開發(fā)環(huán)境,workon article_spider
進(jìn)入這個(gè)環(huán)境:
安裝Scrapy,在安裝的過(guò)程中出現(xiàn)了一些錯(cuò)誤:通常這些錯(cuò)誤都是部分文件沒(méi)有安裝導(dǎo)致的,因?yàn)榇髮W(xué)時(shí)經(jīng)常出現(xiàn),所以對(duì)解決這種問(wèn)題,很實(shí)在,直接到http://www.lfd.uci.edu/~gohlke/pythonlibs/這個(gè)網(wǎng)站下載對(duì)應(yīng)的文件,下載后用pip安裝,具體過(guò)程不在贅述。
然后進(jìn)入工程目錄,并打開我們的新創(chuàng)建的虛擬環(huán)境:
新建scrapy工程:ArticleSpider
創(chuàng)建好工程框架:在pycharm中導(dǎo)入
scrapy.cfg: 項(xiàng)目的配置文件。
ArticleSpeder/: 該項(xiàng)目的python模塊。之后您將在此加入代碼。
ArticleSpeder/items.py: 項(xiàng)目中的item文件。
ArticleSpeder/pipelines.py: 項(xiàng)目中的pipelines文件。
ArticleSpeder/settings.py: 項(xiàng)目的設(shè)置文件。
ArticleSpeder/spiders/: 放置spider代碼的目錄。
回到dos窗口用basic創(chuàng)建模板
上面pycharm的截圖中已經(jīng)創(chuàng)建好了:
為了今后更好的開發(fā),創(chuàng)建一個(gè)用于debug的類main.py
from scrapy.cmdline import execute import sys import os print(os.path.dirname(os.path.abspath(__file__))) sys.path.append(os.path.dirname(os.path.abspath(__file__))) execute(["scrapy","crawl","jobbole"])
這是代碼內(nèi)容
import sys 為了設(shè)置工程目錄,調(diào)用命令才會(huì)生效
里面的路徑最好不要寫死:可以通過(guò)os獲取路徑,更加靈活
execute用來(lái)執(zhí)行目標(biāo)程序的
jobbole.py的內(nèi)容
class JobboleSpider(scrapy.Spider): name = 'jobbole' allowed_domains = ['blog.jobbole.com'] start_urls = ['http://blog.jobbole.com/110287'] def parse(self, response): re_selector = response.xpath("/html/body/div[1]/div[3]/div[1]/div[1]/h1") re2_selector = response.xpath('//*[@id="post-110287"]/div[1]/h1') title = response.xpath('//div[@class="entry-header"]/h1/text()') create_date = response.xpath("") #//*[@id="112706votetotal"] dian_zan = int(response.xpath("http://span[contains(@class,'vote-post-up ')]/h10/text()").extract()[0]) pass
通過(guò)xpath技術(shù)獲取對(duì)應(yīng)文章的一些字段信息,包括標(biāo)題,時(shí)間,評(píng)論數(shù),點(diǎn)贊數(shù)等,因?yàn)楸容^簡(jiǎn)單所以不在贅述
寫到這兒,大家也知道每次在pycharm里面debug和麻煩,因?yàn)閟crapy比較大,所以這時(shí)候我們可以使用Scrapy shell來(lái)調(diào)試
標(biāo)記部分是目標(biāo)網(wǎng)站的地址:現(xiàn)在我們可以更加愉悅的進(jìn)行調(diào)試了。
今天scrapy的初體驗(yàn)就到這里了
相關(guān)文章
使用Python和XPath解析動(dòng)態(tài)JSON數(shù)據(jù)的操作指南
JSON動(dòng)態(tài)數(shù)據(jù)在Python中扮演著重要的角色,為開發(fā)者提供了處理實(shí)時(shí)和靈活數(shù)據(jù)的能力,動(dòng)態(tài)JSON數(shù)據(jù)的獲取可能涉及到網(wǎng)絡(luò)請(qǐng)求和API調(diào)用,可以使用Python和XPath來(lái)解析動(dòng)態(tài)JSON數(shù)據(jù),接下來(lái)小編就給大家介紹一下操作步驟2023-09-09Python實(shí)現(xiàn)html轉(zhuǎn)換為pdf報(bào)告(生成pdf報(bào)告)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)html轉(zhuǎn)換為pdf報(bào)告功能,結(jié)合實(shí)例形式分析了Python使用pdfkit實(shí)現(xiàn)HTML轉(zhuǎn)換為PDF的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-05-05python 模擬貸款卡號(hào)生成規(guī)則過(guò)程解析
這篇文章主要介紹了python 模擬貸款卡號(hào)生成規(guī)則過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python使用pip安裝SciPy、SymPy、matplotlib教程
今天小編大家分享一篇python使用pip安裝SciPy、SymPy、matplotlib教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11優(yōu)化Python代碼使其加快作用域內(nèi)的查找
這篇文章主要介紹了優(yōu)化Python代碼使其加快作用域內(nèi)的搜索,文中介紹了CPython相關(guān)的C代碼來(lái)對(duì)查找功能進(jìn)行優(yōu)化,加快搜索的速度,需要的朋友可以參考下2015-03-03Python實(shí)現(xiàn) 版本號(hào)對(duì)比功能的實(shí)例代碼
這篇文章主要介紹了 Python實(shí)現(xiàn) 版本號(hào)對(duì)比功能的實(shí)例代碼,文末給大家補(bǔ)充介紹了python 比較兩個(gè)版本號(hào)大小 ,需要的朋友可以參考下2019-04-04