Scrapy的簡(jiǎn)單使用教程
在這篇入門(mén)教程中,我們假定你已經(jīng)安裝了python。如果你還沒(méi)有安裝,那么請(qǐng)參考安裝指南。
首先第一步:進(jìn)入開(kāi)發(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)入工程目錄,并打開(kāi)我們的新創(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)建好了:
為了今后更好的開(kāi)發(fā),創(chuàng)建一個(gè)用于debug的類(lèi)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ì)生效
里面的路徑最好不要寫(xiě)死:可以通過(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)單所以不在贅述
寫(xiě)到這兒,大家也知道每次在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)就到這里了
- Python爬蟲(chóng)框架Scrapy安裝使用步驟
- 零基礎(chǔ)寫(xiě)python爬蟲(chóng)之使用Scrapy框架編寫(xiě)爬蟲(chóng)
- 使用scrapy實(shí)現(xiàn)爬網(wǎng)站例子和實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng)(蜘蛛)的步驟
- python使用scrapy解析js示例
- 在Linux系統(tǒng)上安裝Python的Scrapy框架的教程
- Python實(shí)現(xiàn)從腳本里運(yùn)行scrapy的方法
- 講解Python的Scrapy爬蟲(chóng)框架使用代理進(jìn)行采集的方法
- 使用Python的Scrapy框架編寫(xiě)web爬蟲(chóng)的簡(jiǎn)單示例
相關(guān)文章
超級(jí)好用的4個(gè)Python命令行可視化庫(kù)
通常大家都是在自己的電腦上跑程序,直接是可以可視化相應(yīng)的結(jié)果.如果是在服務(wù)器上的話,使用終端,是不太方便查看結(jié)果. 今天,小F就給大家介紹4個(gè)可以在命令行中使用的Python庫(kù). 分別是Bashplotlib、tqdm、PrettyTable、Colorama,需要的朋友可以參考下2021-06-06
DataFrame數(shù)據(jù)框模糊查詢與去重方式
數(shù)據(jù)框模糊查詢通常使用contains函數(shù)和正則表達(dá)式來(lái)實(shí)現(xiàn),可以查詢以某個(gè)字符開(kāi)頭、包含或結(jié)尾的數(shù)據(jù),若數(shù)據(jù)類(lèi)型不一致可能會(huì)報(bào)錯(cuò),需統(tǒng)一為str類(lèi)型,數(shù)據(jù)框去重則通過(guò)drop_duplicates函數(shù)實(shí)現(xiàn),可指定列進(jìn)行去重,并有多種處理重復(fù)值的方式2024-09-09
詳解四種Python中基本形態(tài)學(xué)濾波的實(shí)現(xiàn)
最基礎(chǔ)的形態(tài)學(xué)操作有四個(gè),分別是腐蝕、膨脹、開(kāi)計(jì)算和閉計(jì)算。這篇文章主要介紹了這四種形態(tài)學(xué)濾波的實(shí)現(xiàn),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-04-04
python結(jié)合多線程爬取英雄聯(lián)盟皮膚(原理分析)
多線程是為了同步完成多項(xiàng)任務(wù),不是為了提高運(yùn)行效率,而是為了提高資源使用效率來(lái)提高系統(tǒng)的效率。這篇文章主要介紹了python爬取英雄聯(lián)盟皮膚結(jié)合多線程的方法,需要的朋友可以參考下2021-05-05
解決python3運(yùn)行selenium下HTMLTestRunner報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決python3運(yùn)行selenium下HTMLTestRunner報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python?Flask框架實(shí)現(xiàn)Proteus仿真Arduino與網(wǎng)頁(yè)數(shù)據(jù)交互
這篇文章主要介紹了Python?Flask框架實(shí)現(xiàn)Proteus仿真Arduino與網(wǎng)頁(yè)數(shù)據(jù)交互,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-11-11
利用For循環(huán)遍歷Python字典的三種方法實(shí)例
字典由多個(gè)鍵和其對(duì)應(yīng)的值構(gòu)成的鍵—值對(duì)組成,鍵和值中間以冒號(hào):隔開(kāi),項(xiàng)之間用逗號(hào)隔開(kāi),整個(gè)字典是由大括號(hào){}括起來(lái)的,下面這篇文章主要給大家介紹了關(guān)于如何利用For循環(huán)遍歷Python字典的三種方法,需要的朋友可以參考下2022-03-03

