国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

小程序開(kāi)發(fā)(一):使用scrapy爬蟲(chóng)采集數(shù)據(jù)

mrli2016 / 940人閱讀

摘要:用途廣泛,可以用于數(shù)據(jù)挖掘監(jiān)測(cè)和自動(dòng)化測(cè)試。運(yùn)行下,發(fā)現(xiàn)數(shù)據(jù)全部存到了數(shù)據(jù)庫(kù)中。提供了一些接口來(lái)查看項(xiàng)目爬蟲(chóng)情況,以及執(zhí)行或者停止執(zhí)行爬蟲(chóng)。完成小程序所需要的所有接口的開(kāi)發(fā),以及使用定時(shí)任務(wù)執(zhí)行爬蟲(chóng)腳本。

過(guò)完年回來(lái),業(yè)余時(shí)間一直在獨(dú)立開(kāi)發(fā)一個(gè)小程序。主要數(shù)據(jù)是8000+個(gè)視頻和10000+篇文章,并且數(shù)據(jù)會(huì)每天自動(dòng)更新。

我會(huì)整理下整個(gè)開(kāi)發(fā)過(guò)程中遇到的問(wèn)題和一些細(xì)節(jié)問(wèn)題,因?yàn)閮?nèi)容會(huì)比較多,我會(huì)分成三到四篇文章來(lái)進(jìn)行,本文是該系列的第一篇文章,內(nèi)容偏python爬蟲(chóng)。

本系列文章大致會(huì)介紹一下內(nèi)容:

數(shù)據(jù)準(zhǔn)備(python的scrapy框架)
接口準(zhǔn)備(nodejs的hapijs框架)
小程序開(kāi)發(fā)(mpvue以及小程序自帶的組件等)
部署上線(小程序安全域名等配置以及爬蟲(chóng)/接口等線上部署維護(hù))

數(shù)據(jù)獲取

數(shù)據(jù)獲取的方法有很多種,這次我們選擇了爬蟲(chóng)的方式,當(dāng)然寫(xiě)一個(gè)爬蟲(chóng)也可以用不同的語(yǔ)言,不同的方式。之前寫(xiě)過(guò)很多爬蟲(chóng),這次我們選擇了python的scrapy庫(kù)。關(guān)于scrapy,百度百科解釋如下:

Scrapy,Python開(kāi)發(fā)的一個(gè)快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測(cè)和自動(dòng)化測(cè)試。

學(xué)習(xí)scrapy,最好的方式就是先閱讀一遍文檔(Scrapy 1.6 documentation),然后照著文檔里的例子寫(xiě)一寫(xiě),慢慢就熟悉了。里面有幾個(gè)很重要的概念是必須要理解的:

Items


官方對(duì)items的定義是“The main goal in scraping is to extract structured data from unstructured sources, typically, web pages.”,個(gè)人理解為數(shù)據(jù)結(jié)構(gòu),也就是要爬取數(shù)據(jù)的字段,最好能和數(shù)據(jù)庫(kù)字段對(duì)應(yīng),便于入庫(kù)。


Spiders

“Spiders are classes which define how a certain site (or a group of sites) will be scraped, including how to perform the crawl (i.e. follow links) and how to extract structured data from their pages (i.e. scraping items). ”,也就是爬蟲(chóng)比較核心的內(nèi)容,定義爬蟲(chóng)的方式,一些策略,以及獲取那些字段等等。


pipelines

“After an item has been scraped by a spider, it is sent to the Item Pipeline which processes it through several components that are executed sequentially.”,pipelines也就是我們爬蟲(chóng)拿到數(shù)據(jù)后要進(jìn)行的處理操作,比如寫(xiě)入到文件,或者鏈接數(shù)據(jù)庫(kù),并且保存到數(shù)據(jù)庫(kù)等等操作,都可以在這里進(jìn)行操作。

Selectors

“When you’re scraping web pages, the most common task you need to perform is to extract data from the HTML source. ”,這部分就是如何解析html,從爬取到的html文件中解析出所需的數(shù)據(jù),可以使用BeautifulSoup、lxml、Xpath、CSS等方法。


幾個(gè)重要的部分,在上面進(jìn)行了一些說(shuō)明。

準(zhǔn)備好環(huán)境(python3/scrapy等),我們就可以來(lái)寫(xiě)一個(gè)爬蟲(chóng)項(xiàng)目了。

爬取的內(nèi)容來(lái)自于https://www.jqhtml.com這個(gè)網(wǎng)站。

創(chuàng)建項(xiàng)目

scrapy startproject jqhtml

修改items

?

添加爬蟲(chóng)

爬蟲(chóng)爬蟲(chóng)

編寫(xiě)pipeline 修改配置文件
?這樣我們就順利地完成了爬蟲(chóng)項(xiàng)目的編寫(xiě)。運(yùn)行下,發(fā)現(xiàn)數(shù)據(jù)全部存到了數(shù)據(jù)庫(kù)中。


scrapy爬蟲(chóng)項(xiàng)目的部署

scrapy爬蟲(chóng)項(xiàng)目的部署,我們使用官方的scrapyd即可,使用方法也比較簡(jiǎn)單,在服務(wù)器上安裝scrapyd并且啟動(dòng)即可,然后在本地項(xiàng)目中配置deploy的路徑,本地安裝scrapy-client,使用命令deploy即可部署到服務(wù)器。

scrapyd提供了一些api接口來(lái)查看項(xiàng)目爬蟲(chóng)情況,以及執(zhí)行或者停止執(zhí)行爬蟲(chóng)。

這樣我們就很方便的調(diào)這些接口來(lái)管理我們的爬蟲(chóng)任務(wù)了。

注意點(diǎn):

如何部署scrapyd到服務(wù)器

如何設(shè)置scrapyd為系統(tǒng)后臺(tái)服務(wù)及系統(tǒng)啟動(dòng)項(xiàng)

NEXT

下一篇,我們會(huì)介紹并且使用很火的一個(gè)nodejs后臺(tái)api庫(kù) - hapijs。完成小程序所需要的所有接口的開(kāi)發(fā),以及使用定時(shí)任務(wù)執(zhí)行爬蟲(chóng)腳本。????

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/43638.html

相關(guān)文章

  • Python網(wǎng)頁(yè)信息采集使用PhantomJS采集淘寶天貓商品內(nèi)容

    摘要:,引言最近一直在看爬蟲(chóng)框架,并嘗試使用框架寫(xiě)一個(gè)可以實(shí)現(xiàn)網(wǎng)頁(yè)信息采集的簡(jiǎn)單的小程序。本文主要介紹如何使用結(jié)合采集天貓商品內(nèi)容,文中自定義了一個(gè),用來(lái)采集需要加載的動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容。 showImg(https://segmentfault.com/img/bVyMnP); 1,引言 最近一直在看Scrapy 爬蟲(chóng)框架,并嘗試使用Scrapy框架寫(xiě)一個(gè)可以實(shí)現(xiàn)網(wǎng)頁(yè)信息采集的簡(jiǎn)單的小程序。嘗試...

    z2xy 評(píng)論0 收藏0
  • API例子:用Python驅(qū)動(dòng)Firefox采集網(wǎng)頁(yè)數(shù)據(jù)

    摘要:開(kāi)源即時(shí)網(wǎng)絡(luò)爬蟲(chóng)項(xiàng)目將與基于的異步網(wǎng)絡(luò)框架集成,所以本例將使用采集淘寶這種含有大量代碼的網(wǎng)頁(yè)數(shù)據(jù),但是要注意本例一個(gè)嚴(yán)重缺陷用加載網(wǎng)頁(yè)的過(guò)程發(fā)生在中,破壞了的架構(gòu)原則。 showImg(https://segmentfault.com/img/bVyzAX); 1,引言 本文講解怎樣用Python驅(qū)動(dòng)Firefox瀏覽器寫(xiě)一個(gè)簡(jiǎn)易的網(wǎng)頁(yè)數(shù)據(jù)采集器。開(kāi)源Python即時(shí)網(wǎng)絡(luò)爬蟲(chóng)項(xiàng)目將與S...

    Harriet666 評(píng)論0 收藏0
  • 小程之旅

    摘要:用戶綁定的邏輯主要復(fù)雜在既需要考慮微信本身的接口在不同情況下提供的數(shù)據(jù)不同,另外一方面就是考慮本身用戶模塊的業(yè)務(wù)邏輯問(wèn)題。針對(duì)每一節(jié)課以及每一節(jié)系列課程生成小程序太陽(yáng)碼主要涉及到幾個(gè)細(xì)節(jié)問(wèn)題。 感覺(jué)已經(jīng)好久沒(méi)寫(xiě)程序了,最近這段時(shí)間,一方面是學(xué)習(xí)了python,然后折騰了scrapy框架,用python寫(xiě)了下守護(hù)進(jìn)程程序監(jiān)聽(tīng)任務(wù)以及用redis做隊(duì)列任務(wù)通信,并開(kāi)進(jìn)程來(lái)處理爬蟲(chóng)任務(wù)。以上...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • scrapy-redis分布式爬蟲(chóng)框架詳解

    摘要:分布式爬蟲(chóng)框架詳解隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與應(yīng)用的普及,網(wǎng)絡(luò)作為信息的載體,已經(jīng)成為社會(huì)大眾參與社會(huì)生活的一種重要信息渠道。下載器中間件位于引擎和下載器之間的框架,主要是處理引擎與下載器之間的請(qǐng)求及響應(yīng)。 scrapy-redis分布式爬蟲(chóng)框架詳解 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與應(yīng)用的普及,網(wǎng)絡(luò)作為信息的載體,已經(jīng)成為社會(huì)大眾參與社會(huì)生活的一種重要信息渠道。由于互聯(lián)網(wǎng)是開(kāi)放的,每個(gè)人都可以在網(wǎng)絡(luò)上...

    myeveryheart 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<