999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的網絡爬蟲程序設計

2018-01-17 10:42:30郭麗蓉
電子技術與軟件工程 2017年23期
關鍵詞:頁面程序用戶

摘 要 網絡信息量的迅猛增長,對如何從海量的信息中準確的搜索到用戶需要的信息提出了極大的挑戰。網絡爬蟲具有能夠自動提取網頁信息的能力。本文根據某信息網的特點,提出了一種基于Python的聚焦爬蟲程序設計。實驗結果表明:本程序具有針對性強,數據采集速度快、簡單等優點,有利于對其它的數據進行后續的挖掘研究。

【關鍵詞】網絡爬蟲 Python

1 爬蟲技術

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

根據爬取的對象、使用的結構及技術,爬蟲可分為:

1.1 通用型爬蟲

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

1.2 聚焦型爬蟲

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

1.3 增量型爬蟲

每隔一段時間更新,重新爬取,更新數據庫。

1.4 深層爬蟲

該爬蟲一般需要登錄提交數據,才能進入頁面提取信息。

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

2 Python概述

Python語言是一種功能強大面向對象的解釋型計算機程序設計語言,能有效而且簡單地實現面向對象編程。Python語言屬于語法簡潔清晰的開源編程語言,特色之一是強制用空白符(white space)作為語句縮進。

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

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

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

使用Python開發爬蟲的優點:

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

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

(3)豐富的網絡支持庫及網頁解析器。

本文中的爬蟲是在Python 3.6環境下調試完成的。

3 爬蟲案例

本文通過Python語言來實現一個簡單的聚焦爬蟲程序,把需要的招聘信息爬取保存到本地。該爬蟲的功能是爬取某信息網上關于互聯網職位的信息,并將其發布的招聘信息保存在Excel文檔中。

3.1 解決Where、What、How的問題

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

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

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

3.2 具體實施

該爬蟲系統主要由三個模塊:頁面抓取模塊、頁面分析模塊、數據存儲模塊,三個模塊之間相互協作,共同完成網頁數據的抓取。

(1)爬蟲實現流程如圖1所示。

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

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

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

#導入程序中所用到的庫

import requests

from bs4 import BeautifulSoup

importxlwt

#打開網頁

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)爬取結果,本地保存。爬蟲從網頁中提取數據后,需要將數據保存下來,Python提供存儲數據的方法:可保存到文件中(包括TXT文件和XLS文件),也可存儲在數據庫中(包括MySQL關系數據庫和MongoDB數據庫)。該爬蟲對招聘信息進行本地保存,存儲格式為.XLS文件。部分代碼如下:

#創建Excel文檔保存將要爬取的數據

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

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

#在創建好的Excel文檔中寫入信息標題

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

ii=0

for head in heads:

sheet1.write(0,ii,head)

ii+=1

#調用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')

保存結果如圖3所示。

可以看到和網頁中提供的招聘信息是一致的。

3.3 改進和完善

上述爬蟲只能爬取網頁上的第一頁招聘信息,如果需要爬取所有頁面信息,可根據分析網頁URL地址的規律,使用for循環爬取。分析比較:

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

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

到下一頁ClickID的值增加1,需重新構造URL。

部分代碼如下:

fori in range(0,10):

link1=link+str(i)

4 結束語

總之,在大數據時代的今天,用戶對各類數據的需求越來越多,對數據進行有效的分析可對相關決策提供依據,爬蟲作為一種自動收集數據的手段,有廣闊的應用。同時,結合學院實際情況,可以將爬蟲技術應用在網絡輿情分析及網絡犯罪線索發現中。

參考文獻

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

[2]謝克武.大數據環境下基于Python的網絡爬蟲技術[J].軟件開發,2017,5(44).

[3]唐松,陳智力銓.Python網絡爬蟲[M].北京:機械工業出版社,2017.

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

[5]于成龍,于洪波.網絡爬蟲技術研究[J].東莞理工學院學報,2011,6:(25-27).

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

作者簡介

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

作者單位

山西警察學院網絡安全保衛系 陜西省太原市 030021endprint

猜你喜歡
頁面程序用戶
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 欧美亚洲一二三区 | av手机版在线播放| 免费AV在线播放观看18禁强制| 99精品热视频这里只有精品7 | 人妻一本久道久久综合久久鬼色| 手机精品视频在线观看免费| 日本一区高清| 欧美精品v欧洲精品| 国产精品思思热在线| 亚洲成肉网| 日韩无码真实干出血视频| 色视频国产| 国产一级α片| 久久亚洲黄色视频| 精品久久蜜桃| 无码aⅴ精品一区二区三区| 欧美一级高清片久久99| 欧美日本二区| 国产精品视频a| 蜜桃视频一区二区| 国产成人无码久久久久毛片| 亚洲第一极品精品无码| 重口调教一区二区视频| 欧洲高清无码在线| 日韩精品欧美国产在线| 漂亮人妻被中出中文字幕久久| 亚洲国产第一区二区香蕉| 中文字幕欧美日韩| 婷婷午夜影院| 日韩精品亚洲一区中文字幕| 国产超薄肉色丝袜网站| 国产高潮视频在线观看| 韩国v欧美v亚洲v日本v| 亚洲不卡无码av中文字幕| 久久久精品无码一区二区三区| 2019国产在线| 五月婷婷综合在线视频| 国产真实乱子伦视频播放| 亚洲欧洲日产国产无码AV| 国产日本视频91| 国产又大又粗又猛又爽的视频| 国产国产人免费视频成18| 亚洲a免费| 无遮挡一级毛片呦女视频| 青青热久免费精品视频6| 午夜精品国产自在| 91精品最新国内在线播放| 中国国产A一级毛片| 国产亚洲精品自在久久不卡| 2021国产乱人伦在线播放| 九九这里只有精品视频| 亚洲精品第五页| 久久久久久午夜精品| 国产一级妓女av网站| 黄色福利在线| 自拍欧美亚洲| 国产精品99在线观看| 老司国产精品视频| 国产91小视频| 免费大黄网站在线观看| 青青草国产一区二区三区| 日本黄色a视频| 久久国产黑丝袜视频| 精品三级在线| 四虎永久在线精品国产免费| 亚洲欧美在线精品一区二区| 久久久久亚洲Av片无码观看| 好久久免费视频高清| 国产亚洲欧美在线人成aaaa| 超碰aⅴ人人做人人爽欧美 | 成人午夜网址| 亚洲成人精品在线| 久久久久九九精品影院 | 日韩麻豆小视频| 亚洲第一黄片大全| 99精品在线看| 亚洲人成网站18禁动漫无码| 午夜精品区| 国产欧美视频在线| 区国产精品搜索视频| 成年人免费国产视频| 人妻一本久道久久综合久久鬼色|