亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2018-01-17 10:42:30郭麗蓉
        電子技術(shù)與軟件工程 2017年23期
        關(guān)鍵詞:爬蟲網(wǎng)頁頁面

        摘 要 網(wǎng)絡(luò)信息量的迅猛增長,對如何從海量的信息中準(zhǔn)確的搜索到用戶需要的信息提出了極大的挑戰(zhàn)。網(wǎng)絡(luò)爬蟲具有能夠自動提取網(wǎng)頁信息的能力。本文根據(jù)某信息網(wǎng)的特點(diǎn),提出了一種基于Python的聚焦爬蟲程序設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明:本程序具有針對性強(qiáng),數(shù)據(jù)采集速度快、簡單等優(yōu)點(diǎn),有利于對其它的數(shù)據(jù)進(jìn)行后續(xù)的挖掘研究。

        【關(guān)鍵詞】網(wǎng)絡(luò)爬蟲 Python

        1 爬蟲技術(shù)

        網(wǎng)絡(luò)爬蟲,又稱網(wǎng)頁蜘蛛(web spider),是一個功能強(qiáng)大的能夠自動提取網(wǎng)頁信息的程序,它模仿瀏覽器訪問網(wǎng)絡(luò)資源,從而獲取用戶需要的信息,它可以為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁信息,因此也是搜索引擎的重要組成部分。

        根據(jù)爬取的對象、使用的結(jié)構(gòu)及技術(shù),爬蟲可分為:

        1.1 通用型爬蟲

        該爬蟲又稱為全網(wǎng)爬蟲,主要用在搜索引擎,從初始的URL到全網(wǎng)頁面,但需要的存儲容量大,速度要求快,工作性能強(qiáng)大。

        1.2 聚焦型爬蟲

        該爬蟲專注某一方面,只搜索事先定義的關(guān)鍵信息。

        1.3 增量型爬蟲

        每隔一段時間更新,重新爬取,更新數(shù)據(jù)庫。

        1.4 深層爬蟲

        該爬蟲一般需要登錄提交數(shù)據(jù),才能進(jìn)入頁面提取信息。

        利用網(wǎng)絡(luò)爬蟲,能夠幫助用戶解決上網(wǎng)瀏覽過程中的一些信息的快速抓取及保存。比如日常上網(wǎng)瀏覽網(wǎng)頁過程中,經(jīng)常會看到一些喜歡的圖片,希望保存下來作為素材使用,一般的方法就是通過單擊鼠標(biāo)右鍵選擇另存為來保存圖片,如果批量保存圖片工作量會比較大,而利用設(shè)計(jì)的網(wǎng)絡(luò)爬蟲來爬取圖片,自動化處理,快速高效。同時,利用爬蟲可以獲取大量的感性認(rèn)識中得不到有價值數(shù)據(jù),為一些決策提供依據(jù)。

        2 Python概述

        Python語言是一種功能強(qiáng)大面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言,能有效而且簡單地實(shí)現(xiàn)面向?qū)ο缶幊獭ython語言屬于語法簡潔清晰的開源編程語言,特色之一是強(qiáng)制用空白符(white space)作為語句縮進(jìn)。

        Python具有豐富的標(biāo)準(zhǔn)庫和強(qiáng)大的第三方庫。它常被昵稱為膠水語言,能夠和其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起,易于擴(kuò)展。常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后可以用更合適的語言改寫其中有特別要求的部分,比如對于性能要求特別高的3D游戲中的圖形渲染模塊,完全可以用C/C++重寫封裝為Python可以調(diào)用的擴(kuò)展類庫。

        在使用之前,必須搭建好使用環(huán)境。到Python官網(wǎng)下載針對用戶所使用的操作系統(tǒng)Python版本來安裝,安裝完成后需要設(shè)置環(huán)境變量便于啟動Python。同時可選擇一款合適的編輯工具來完成爬蟲的編寫。

        目前Python的版本有2.X和3.X。兩者主要在語法、編碼、性能、模塊上有些不同。

        使用Python開發(fā)爬蟲的優(yōu)點(diǎn):

        (1)語言簡潔,使用方便。

        (2)提供功能強(qiáng)大的爬蟲框架。

        (3)豐富的網(wǎng)絡(luò)支持庫及網(wǎng)頁解析器。

        本文中的爬蟲是在Python 3.6環(huán)境下調(diào)試完成的。

        3 爬蟲案例

        本文通過Python語言來實(shí)現(xiàn)一個簡單的聚焦爬蟲程序,把需要的招聘信息爬取保存到本地。該爬蟲的功能是爬取某信息網(wǎng)上關(guān)于互聯(lián)網(wǎng)職位的信息,并將其發(fā)布的招聘信息保存在Excel文檔中。

        3.1 解決Where、What、How的問題

        (1)Where:爬哪里,確定要抓取的頁面。解決這個問題由用戶對數(shù)據(jù)的需求來決定。

        (2)What:爬什么,分析上述頁面,確定從頁面中爬取的數(shù)據(jù)。

        (3)How:怎么爬,可使用Python強(qiáng)大豐富的標(biāo)準(zhǔn)庫及第三方庫來完成。這是爬蟲的核心部分。尤其是對網(wǎng)頁的解析,可使用正則表達(dá)式、BeautifulSoup、lxml來解析網(wǎng)頁,三種方法各有千秋,使用時可根據(jù)用戶的熟練程度和需要選擇一種適合的解析方法。

        3.2 具體實(shí)施

        該爬蟲系統(tǒng)主要由三個模塊:頁面抓取模塊、頁面分析模塊、數(shù)據(jù)存儲模塊,三個模塊之間相互協(xié)作,共同完成網(wǎng)頁數(shù)據(jù)的抓取。

        (1)爬蟲實(shí)現(xiàn)流程如圖1所示。

        (2)打開某信息網(wǎng)招聘信息,該網(wǎng)站URL是爬蟲主要的處理對象,打開互聯(lián)網(wǎng)職位頁面并分析網(wǎng)頁源代碼結(jié)構(gòu),代碼如圖2所示。

        分析代碼過程中,可利用開發(fā)者工具確定每個數(shù)據(jù)對應(yīng)的元素及Class名稱。例如本頁面的公司名稱、職位、薪水對應(yīng)的元素及Class如表1所示。

        (3)確定爬蟲方法,導(dǎo)入程序中所用到的庫。對服務(wù)器發(fā)出請求,打開網(wǎng)頁,需要使用requests庫,本爬蟲中分析網(wǎng)頁使用的是BeautifulSoup方式,需要用到BeautifulSoup庫,存儲數(shù)據(jù)用到庫xlwt,整個爬蟲程序中用到的庫都需要導(dǎo)入。部分代碼及注釋(#開始為注釋行)為如下:

        #導(dǎo)入程序中所用到的庫

        import requests

        from bs4 import BeautifulSoup

        importxlwt

        #打開網(wǎng)頁

        r=requests.get(link,headers=headers)

        #通過BeautifulSoup的find_all方法解析頁面

        soup=BeautifulSoup(r.text,"lxml")

        job_list=soup.find_all('li',class_="job_itemclearfix")

        #查找公司名稱、職位、薪水等信息endprint

        for job in job_list:

        comp=job.find('div',class_='comp_name').text.strip()

        name=job.find('span',class_='name').text.strip()

        salary=job.find('p',class_='job_salary').text.strip()

        (4)爬取結(jié)果,本地保存。爬蟲從網(wǎng)頁中提取數(shù)據(jù)后,需要將數(shù)據(jù)保存下來,Python提供存儲數(shù)據(jù)的方法:可保存到文件中(包括TXT文件和XLS文件),也可存儲在數(shù)據(jù)庫中(包括MySQL關(guān)系數(shù)據(jù)庫和MongoDB數(shù)據(jù)庫)。該爬蟲對招聘信息進(jìn)行本地保存,存儲格式為.XLS文件。部分代碼如下:

        #創(chuàng)建Excel文檔保存將要爬取的數(shù)據(jù)

        book=xlwt.Workbook(encoding='utf-8')

        sheet1=book.add_sheet(u'sheet1',cell_overwrite_ok=True)

        #在創(chuàng)建好的Excel文檔中寫入信息標(biāo)題

        heads=[u'公司名稱',u'職位',u'薪水']

        ii=0

        for head in heads:

        sheet1.write(0,ii,head)

        ii+=1

        #調(diào)用write方法將查找到的信息寫入Excel文檔中

        for data in (comp,name,salary):

        sheet1.write(i+1,0,comp)

        sheet1.write(i+1,1,name)

        sheet1.write(i+1,2,salary)

        i+=1

        #保存Excel文檔

        book.save('joblist.xls')

        保存結(jié)果如圖3所示。

        可以看到和網(wǎng)頁中提供的招聘信息是一致的。

        3.3 改進(jìn)和完善

        上述爬蟲只能爬取網(wǎng)頁上的第一頁招聘信息,如果需要爬取所有頁面信息,可根據(jù)分析網(wǎng)頁URL地址的規(guī)律,使用for循環(huán)爬取。分析比較:

        0d303655-002e-4964-f90b-fa2a1cb1f628&ClickID=3

        0d202408-002e-46bc-d2a9-36b62fb6175b&ClickID=2

        到下一頁ClickID的值增加1,需重新構(gòu)造URL。

        部分代碼如下:

        fori in range(0,10):

        link1=link+str(i)

        4 結(jié)束語

        總之,在大數(shù)據(jù)時代的今天,用戶對各類數(shù)據(jù)的需求越來越多,對數(shù)據(jù)進(jìn)行有效的分析可對相關(guān)決策提供依據(jù),爬蟲作為一種自動收集數(shù)據(jù)的手段,有廣闊的應(yīng)用。同時,結(jié)合學(xué)院實(shí)際情況,可以將爬蟲技術(shù)應(yīng)用在網(wǎng)絡(luò)輿情分析及網(wǎng)絡(luò)犯罪線索發(fā)現(xiàn)中。

        參考文獻(xiàn)

        [1]https://baike.baidu.com/item/Python/407313?fr=aladdin.

        [2]謝克武.大數(shù)據(jù)環(huán)境下基于Python的網(wǎng)絡(luò)爬蟲技術(shù)[J].軟件開發(fā),2017,5(44).

        [3]唐松,陳智力銓.Python網(wǎng)絡(luò)爬蟲[M].北京:機(jī)械工業(yè)出版社,2017.

        [4]陳琳,任芳.基于Python的新浪微博數(shù)據(jù)爬蟲程序設(shè)計(jì)[J].信息系統(tǒng)工程,2016,9:(97-99).

        [5]于成龍,于洪波.網(wǎng)絡(luò)爬蟲技術(shù)研究[J].東莞理工學(xué)院學(xué)報(bào),2011,6:(25-27).

        [6] 韓菲,金磊等.基于Python的實(shí)時數(shù)據(jù)庫設(shè)計(jì)[J].儀表儀器用戶,2017,6(28).

        作者簡介

        郭麗蓉(1979-),女,山西省文水縣人。講師。

        作者單位

        山西警察學(xué)院網(wǎng)絡(luò)安全保衛(wèi)系 陜西省太原市 030021endprint

        猜你喜歡
        爬蟲網(wǎng)頁頁面
        大狗熊在睡覺
        利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
        刷新生活的頁面
        基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
        基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
        電子制作(2018年10期)2018-08-04 03:24:38
        利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
        電子制作(2017年9期)2017-04-17 03:00:46
        網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
        電子測試(2015年18期)2016-01-14 01:22:58
        10個必知的網(wǎng)頁設(shè)計(jì)術(shù)語
        山外人精品影院| 日韩亚洲精选一区二区三区 | 亚洲国产成人久久精品不卡| 亚洲最大av网站在线观看| 中文天堂在线www| 四虎无码精品a∨在线观看| 精品熟女视频一区二区三区国产 | 精品国产一区二区三区av片| 四虎成人在线| 国产精品又黄又爽又色| 亚洲男人天堂黄色av| 天天弄天天模| 国产精品国产三级国产专播 | 国产揄拍国产精品| 国产一级毛片卡| 日韩人妻免费一区二区三区| 日韩少妇人妻中文字幕| 性一交一乱一伧国产女士spa| 国产99页| 日本一区二区三区在线视频播放| 久久精品国产亚洲av久| 亚洲欧美日韩国产综合一区二区| 色窝综合网| 久久丝袜熟女av一区二区| 丁香六月久久婷婷开心| 亚洲高清无码第一| 久久精品亚洲成在人线av| 亚洲性色av一区二区三区| 亚洲av少妇高潮喷水在线| 国产又粗又黄又爽的大片| 精品国产网红福利在线观看| 久久夜色精品国产九色| 91丝袜美腿亚洲一区二区| 中国内射xxxx6981少妇| 成人无码无遮挡很H在线播放| 亚洲一区二区精品在线| 久久久久久久综合综合狠狠| 国产成年无码V片在线| 美国又粗又长久久性黄大片| 无码国产精品一区二区免费式芒果| 久久中文精品无码中文字幕|