国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python 對(duì)資訊信息的網(wǎng)絡(luò)爬蟲設(shè)計(jì)

2020-06-03 02:21嚴(yán)家馨
關(guān)鍵詞:爬蟲伯樂資訊

嚴(yán)家馨

(重慶大學(xué)經(jīng)濟(jì)與工商管理學(xué)院,重慶400033)

1 相關(guān)概念

1.1 Python 語言

Python 是一種面向?qū)ο?、解釋型、可移植的交互式編程語言。其語法簡(jiǎn)單清晰,容易理解,非常適合編程初學(xué)者學(xué)習(xí)使用。且Python 語言的標(biāo)準(zhǔn)庫和第三方庫非常龐大豐富,使其功能非常強(qiáng)大,能夠完成數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)挖掘、網(wǎng)站開發(fā)等。

1.2 網(wǎng)絡(luò)爬蟲

網(wǎng)絡(luò)爬蟲是一種按照一定的搜索規(guī)則,自動(dòng)爬取web 網(wǎng)頁的應(yīng)用程序。首先從一個(gè)初始頁面的URL 開始,通過分析頁面中的其他相關(guān)URL,抓取新的網(wǎng)頁鏈接,然后在這些網(wǎng)頁鏈接下,再繼續(xù)尋找新的網(wǎng)頁鏈接URL,反復(fù)循環(huán),直到爬取和分析完所有頁面內(nèi)容。

1.3 Scrapy 框架

Scrapy 是Python 技術(shù)語言開發(fā)的一個(gè)高層次,快速抓取web 網(wǎng)頁的框架,用于抓取Web 網(wǎng)頁中的內(nèi)容。Scrapy 的應(yīng)用非常廣泛,常被用于網(wǎng)絡(luò)爬蟲,且其擁有很多簡(jiǎn)化的高級(jí)函數(shù)和中間件接口,可以靈活地完成各種需求。

1.4 MySQL

MySQL 是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其可以將網(wǎng)絡(luò)爬蟲爬取的數(shù)據(jù)信息保存在不同的表中以增加儲(chǔ)存速度并提高靈活性。并且能夠作為一個(gè)單獨(dú)的應(yīng)用程序,也可以作為一個(gè)庫嵌入到其他的軟件。被用于Navicat 數(shù)據(jù)庫軟件。

2 網(wǎng)絡(luò)爬蟲程序的設(shè)計(jì)

2.1 伯樂在線網(wǎng)絡(luò)爬蟲的流程結(jié)構(gòu)圖

首先確定最新文章的種子地址為start_url,進(jìn)入最新文章后便通過response.css 選擇器來得到第一頁及所有下一頁的url,選取一部分作為目標(biāo)url,其余部分放入待爬取的url 隊(duì)列中等待爬取。在目標(biāo)url 中同樣通過response.css 得出每篇文章特定的目標(biāo)內(nèi)容并解析匹配保存到navicat 數(shù)據(jù)庫中。以此再進(jìn)入下一個(gè)循環(huán),直到最新文章的資訊內(nèi)容全部爬取完成。

2.2 伯樂在線網(wǎng)絡(luò)爬蟲的環(huán)境搭建(圖1)

開發(fā)環(huán)境:Windows 系統(tǒng)

開發(fā)語言:Python 語言,配置系統(tǒng)環(huán)境變量Path

開發(fā)工具:Pycharm

Web 抓取框架:Scrapy

數(shù)據(jù)庫管理系統(tǒng):Mysql 和Navicat

圖1

2.3 伯樂在線網(wǎng)絡(luò)爬蟲的詳細(xì)設(shè)計(jì)

本爬蟲是以Python 語言作為腳本語言編寫,Pycharm 作為此爬蟲的工具,Scrapy 是此系統(tǒng)的框架。在Pycharm 中創(chuàng)建jobbole 項(xiàng)目并進(jìn)行Python 語言網(wǎng)絡(luò)爬蟲代碼的編寫。

2.3.1 伯樂在線資訊信息的獲取

a. 進(jìn)入伯樂在線的開始地址為start_url: ['http://python.jobbole.com/all-posts/']

b. 通過css 選擇器獲取最新文章中一頁的url 和目標(biāo)文章post_url 并交給scrapy 下載后進(jìn)行解析。

d.在parse_detail()方法中通過css 選擇器獲取文章的封面圖、標(biāo)題、創(chuàng)建時(shí)間、收藏?cái)?shù)、點(diǎn)贊數(shù)、評(píng)論數(shù)、內(nèi)容等并使用正則表達(dá)式進(jìn)行匹配。

e.item 類的實(shí)例化

item 類在Python 中可以指定字段,通過實(shí)例化item,網(wǎng)絡(luò)爬蟲爬取的數(shù)據(jù)不容易出錯(cuò)。

實(shí)例化:article_item =JobboleItem()

調(diào)用article_item 類:

2.3.2 伯樂在線資訊信息的存儲(chǔ)

首先通過MysqlPipelines()方法建立數(shù)據(jù)庫的連接,然后將伯樂在線網(wǎng)站獲取的標(biāo)題、封面圖、日期、內(nèi)容等存入數(shù)據(jù)庫中。

3 網(wǎng)絡(luò)爬蟲程序的測(cè)試

3.1 最新文章中封面圖的儲(chǔ)存,通過pipelines()方法將封面圖存儲(chǔ)在images 文件中。

3.2 數(shù)據(jù)庫的存儲(chǔ),在pipelines 中編寫MysqlPipelines ()方法,將獲取到的所有資訊內(nèi)容存儲(chǔ)到Navicat 數(shù)據(jù)庫中。

結(jié)束語

本文基于Python 語言的網(wǎng)絡(luò)爬蟲對(duì)伯樂在線最新文章的資訊信息進(jìn)行了采集設(shè)計(jì)與測(cè)試,通過借助Pycharm 工具和Scrapy 網(wǎng)頁抓取框架編寫Python 語言的網(wǎng)絡(luò)爬蟲代碼,將伯樂在線最新文章中的URL、標(biāo)題、內(nèi)容、封面圖、點(diǎn)贊數(shù)、評(píng)論數(shù)等信息抓取并保存到數(shù)據(jù)庫中。此設(shè)計(jì)大大提高了人們對(duì)目標(biāo)資訊信息采集的速度和準(zhǔn)確度,也為后續(xù)準(zhǔn)確高效挖掘與分析數(shù)據(jù)提供了保證。

猜你喜歡
爬蟲伯樂資訊
利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
千里馬無須伯樂證明
資訊Information①
大數(shù)據(jù)背景下校園輿情的爬蟲應(yīng)用研究
伯樂傳道
車伯樂
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
資訊
資訊