真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

pythonpyspider的使用方法

這篇文章主要介紹“python pyspider的使用方法”,在日常操作中,相信很多人在python pyspider的使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python pyspider的使用方法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)公司客戶idc服務(wù)中心,提供成都西信服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。

概要:了解了爬蟲的基礎(chǔ)知識(shí)后,接下來我們來使用框架來寫爬蟲,用框架會(huì)使我們寫爬蟲更加簡(jiǎn)單,接下來我們來了解一下,pyspider框架的使用,了解了該框架,媽媽再也不用擔(dān)心我們的學(xué)習(xí)了。

前期準(zhǔn)備:

1、安裝pyspider:pip3 install pyspider

2、安裝Phantomjs:在官網(wǎng)下載解壓后,并將pathtomjs.exe拖進(jìn)安裝python路徑下的Scripts下即可。

下載地址:https://phantomjs.org/dowmload.html

   官方API地址:http://www.pyspider.cn/book/pyspider/self.crawl-16.html

2、用法(這里只簡(jiǎn)要介紹,更多請(qǐng)看官方文檔):

1、首先啟動(dòng)pyspider

在黑窗口中輸入pyspider all 即可看到如下。

python pyspider的使用方法

提醒我們?cè)趆ttp://localhost:5000端口打開即可。(注意不要關(guān)閉!

打開后點(diǎn)擊右邊的Create創(chuàng)建項(xiàng)目,Project Name是項(xiàng)目名稱,

Start URL(s)是你要爬取的地址點(diǎn)擊Create就可以創(chuàng)建一個(gè)項(xiàng)目。

2、了解pyspider的格式和過程

創(chuàng)建之后我們會(huì)看到如下:

python pyspider的使用方法

  • Handler方法是pysqider的主類,繼承BaseHandler,所有的功能,只需要一個(gè)Handler就可以解決。

  • crawl_config = {}表示全局的配置,比如可以之前學(xué)的那樣,定義一個(gè)headers

  • @every(minutes=24 * 60)every屬性表示爬取的時(shí)間間隔,minutes=24*60即是一天的意思,也就是說一天爬取一次。

  • on_start方法:是爬取的入口,通過調(diào)用crawl方法來發(fā)送請(qǐng)求,

  • callback=self.index_page:callback表示回調(diào)函數(shù),也就是說將請(qǐng)求的結(jié)果交給index_page來處理。

  • @config(age=10 * 24 * 60 * 60)是設(shè)置任務(wù)的有效時(shí)間為10天,也就是說在10天內(nèi)不會(huì)重復(fù)執(zhí)行。

  • index_page函數(shù):就是進(jìn)行處理的函數(shù),參數(shù)response,表示請(qǐng)求頁面的返回內(nèi)容。

  • 接下來的內(nèi)容相必大家也看得懂,通過pyquery解析器(pyspider可以直接使用該解析器)獲取所有的鏈接。并依次去請(qǐng)求。然后調(diào)用detail_page來處理,得到我們想要的東西。

  • @config(priority=2)priority表示爬取的優(yōu)先級(jí),沒有設(shè)置默認(rèn)為0,數(shù)字越大,可優(yōu)先調(diào)用。

crawl的其他參數(shù):

  • exetime:表示該任務(wù)一個(gè)小時(shí)候執(zhí)行

  • self.crawl('http://maoyan.com/board/4', callback=self.detail_page,exetime=time.time()+60*60)

  • retries:可以設(shè)置重復(fù)次數(shù),默認(rèn)為3

  • auto_recrawl:設(shè)置為True時(shí),當(dāng)任務(wù)過期,即age的時(shí)間到了之后,再次執(zhí)行。

  • method:即HTTP的請(qǐng)求方式默認(rèn)為get

  • params:以字典的形式添加get的請(qǐng)求參數(shù)

  • self.crawl('http://maoyan.com/board/4', callback=self.detail_page,params={'a':'123','b':'456'})

  • data:post的表單數(shù)據(jù),同樣是以字典的形式

  • files:上傳文件

  • self.crawl('http://maoyan.com/board/4', callback=self.detail_page,method='post',files={filename:'xxx'})

  • user_agent:即User-Agent

  • headers:即請(qǐng)求頭信息

  • cookies:字典形式

  • connect_timeout:初始化的最長(zhǎng)等待時(shí)間,默認(rèn)20秒

  • timeout:抓取頁面的最長(zhǎng)等待時(shí)間

  • proxy:爬取時(shí)的代理,字典形式

  • fetch_type:設(shè)置成js即可看到j(luò)avascript渲染的頁面,需要安裝Phantomjs

  • js_script:同樣,也可以執(zhí)行自己寫的js腳本。如:

  • self.crawl('http://maoyan.com/board/4', callback=self.detail_page,js_script='''

    function(){

    alert('123')

    }

    ''')

  • js_run_at:和上面運(yùn)行js腳本一起使用,可以設(shè)置運(yùn)行腳本的位置在開頭還是結(jié)尾

  • load_images:在加載javascript時(shí),是否加載圖片,默認(rèn)為否

  • save:在不同方法之間傳遞參數(shù):

    def on_start(self):

    self.crawl('http://maoyan.com/board/4', callback=self.index_page,save={'a':'1'})

    def index_page(self,response):

    return response.save['a']

3、保存之后的項(xiàng)目是這樣的

python pyspider的使用方法

status表示狀態(tài):

  • TODO:表示項(xiàng)目剛剛被創(chuàng)建的狀態(tài)

  • STOP:表示停止

  • CHECKING:正在運(yùn)行的項(xiàng)目被修改的狀態(tài)

  • DEBUG/RUNNING:都是運(yùn)行,DEBUG可以說是測(cè)試版本。

  • PAUSE:出現(xiàn)多次錯(cuò)誤。

如何刪除項(xiàng)目?

將group修改成delete,staus修改成STOP,24小時(shí)后系統(tǒng)自動(dòng)刪除

actions:

run表示運(yùn)行

active tasks 查看請(qǐng)求

results 查看結(jié)果

tate/burst:

1/3表示1秒發(fā)送一個(gè)請(qǐng)求,3個(gè)進(jìn)程

progress:表示爬取的進(jìn)度。

到此,關(guān)于“python pyspider的使用方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


當(dāng)前名稱:pythonpyspider的使用方法
轉(zhuǎn)載來源:http://weahome.cn/article/jjdihs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部