国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
淺談Python網絡爬蟲

作者: 佚名  日期:2017-05-03 08:32:36   來源: 本站整理

一 相關背景
網絡爬蟲(Web Spider)又稱網絡蜘蛛、網絡機器人,是一段用來自動化采集網站數據的程序。如果把互聯網比喻成一個蜘蛛網,那么Spider就是在網上爬來爬去的蜘蛛。網絡爬蟲不僅能夠為搜索引擎采集網絡信息,而且還可以作為定向信息采集器,定向采集某些網站下的特定信息,如:汽車票價,招聘信息,租房信息,微博評論等。
二 應用場景

圖1 應用場景
爬蟲技術在科學研究、Web安全、產品研發、輿情監控等領域可以做很多事情。如:在數據挖掘、機器學習、圖像處理等科學研究領域,如果沒有數據,則可以通過爬蟲從網上抓取;在Web安全方面,使用爬蟲可以對網站是否存在某一漏洞進行批量驗證、利用;在產品研發方面,可以采集各個商城物品價格,為用戶提供市場最低價;在輿情監控方面,可以抓取、分析新浪微博的數據,從而識別出某用戶是否為水軍。
三 本文目的
本文簡要介紹對于定向信息采集所需了解基本知識和相關技術,以及python中與此相關的庫。同時提供對與數據抓取有關庫的封裝實現,目的是減少不必要的配置,便于使用,目前僅包含對urllib2, requests, mechanize的封裝。地址:https://github.com/xinhaojing/Crawler
四 運行流程
對于定向信息的爬取,爬蟲主要包括數據抓取、數據解析、數據入庫等操作流程。其中:
(1)數據抓取:發送構造的HTTP請求,獲得包含所需數據的HTTP響應;
(2)數據解析:對HTTP響應的原始數據進行分析、清洗以提取出需要的數據;
(3)數據入庫:將數據進一步保存到數據庫(或文本文件),構建知識庫。

圖2.1 基本運行流程
 

圖2.2 詳細運行流程
五 相關技術
爬蟲的相關技術包括:
(1)數據抓取:了解HTTP請求和響應中各字段的含義;了解相關的網絡分析工具,主要用于分析網絡流量,如:burpsuit等。一般情況,使用瀏覽器的開發者模式即可;
(2)數據解析:了解HTML結構、JSON和XML數據格式,CSS選擇器、Xpath路徑表達式、正則表達式等,目的是從響應中提取出所需的數據;
(3)數據入庫:MySQL,SQLite、Redis等數據庫,便于數據的存儲;
 

圖3 相關技術
 
以上是學習爬蟲的基本要求,在實際的應用中,也應考慮如何使用多線程提高效率、如何做任務調度、如何應對反爬蟲,如何實現分布式爬蟲等等。本文介紹的比較有限,僅供參考。
六 python相關庫
在爬蟲實現上,除了scrapy框架之外,python有許多與此相關的庫可供使用。其中,在數據抓取方面包括: urllib2(urllib3)、requests、mechanize、selenium、splinter;在數據解析方包括:lxml、beautifulsoup4、re、pyquery。
對于數據抓取,涉及的過程主要是模擬瀏覽器向服務器發送構造好的http請求,常見類型有:get/post。其中,urllib2(urllib3)、requests、mechanize用來獲取URL對應的原始響應內容;而selenium、splinter通過加載瀏覽器驅動,獲取瀏覽器渲染之后的響應內容,模擬程度更高。
具體選擇哪種類庫,應根據實際需求決定,如考慮效率、對方的反爬蟲手段等。通常,能使用urllib2(urllib3)、requests、mechanize等解決的盡量不用selenium、splinter,因為后者因需要加載瀏覽器而導致效率較低。
對于數據解析,主要是從響應頁面里提取所需的數據,常用方法有:xpath路徑表達式、CSS選擇器、正則表達式等。其中,xpath路徑表達式、CSS選擇器主要用于提取結構化的數據,而正則表達式主要用于提取非結構化的數據。相應的庫有lxml、beautifulsoup4、re、pyquery。
表1 相關庫文檔
  
類庫 
文檔 
  數 據 抓 取 
urllib2 
https://docs.python.org/2/library/urllib2.html 
requests 
http://cn.python-requests.org/zh_CN/latest 
mechanize 
https://mechanize.readthedocs.io/en/latest/ 
splinter 
http://splinter.readthedocs.io/en/latest/ 
selenium 
https://selenium-python.readthedocs.io/ 
  數 據 解 析 
lxml 
http://lxml.de/ 
  beautifulsoup4 
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html http://cuiqingcai.com/1319.html 
re 
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 
pyquery 
https://pythonhosted.org/pyquery/ 
 
七.相關介紹
1數據抓取
(1)urllib2
urllib2是python自帶的一個訪問網頁及本地文件的庫,通常需要與urllib一起使用。因為urllib提供了urlencode方法用來對發送的數據進行編碼,而urllib2沒有對應的方法。
以下是對urllib2簡易封裝的說明,主要是將相關的特性集中在了一個類函數里面,避免一些繁瑣的配置工作。



圖4 urllib2封裝說明
(2)requests和mechanize
requests是Python的第三方庫,基于urllib,但比urllib更加方便,接口簡單。其特點包括,關于http請求:支持自定義請求頭,支持設置代理、支持重定向、支持保持會話[request.Session()]、支持超時設置、對post數據自動urlencode;關于http響應:可直接從響應中獲得詳細的數據,無需人工配置,包括:狀態碼、自動解碼的響應內容、響應頭中的各個字段;還內置JSON解碼器。
mechanize是對urllib2部分功能的替換,能夠更好的模擬瀏覽器行為,在web訪問控制方面做得很全面。其特點包括:支持cookie設置、代理設置、重定向設置、簡單的表單填寫、瀏覽器歷史記錄和重載、referer頭的添加(可選)、自動遵守robots.txt、自動處理HTTP-EQUIV和刷新等。
對requests和mechanize簡易封裝后的接口與urllib2一樣,也是將相關特性集中在了一個類函數里面,這里不在重復說明,可參考所給代碼。
(4)splinter和selenium
selenium(python)和splinter可以很好的模擬瀏覽器行為,二者通過加載瀏覽器驅動工作。在采集信息方面,降低了分析網絡請求的麻煩,一般只需要知道數據頁面對應的URL即可。由于要加載瀏覽器,所以效率方面相對較低。
默認情況下,優先使用的是Firefox瀏覽器。這里列出chrome和pantomjs(無頭瀏覽器)驅動的下載地址,方便查找。
chrome和pantomjs驅動地址:
chrome : http://chromedriver.storage.googleapis.com/index.html?path=2.9/
pantomjs : http://phantomjs.org/download.html
2 數據解析
對于數據解析,可用的庫有lxml、beautifulsoup4、re、pyquery。其中,beautifulsoup4比較常用些。除了這些庫的使用,可了解一下xpath路徑表達式、CSS選擇器、正則表達式的語法,便于從網頁中提取數據。其中,chrome瀏覽器自帶生成Xpath的功能。

圖5 chrome查看元素的xpath
如果能夠基于網絡分析,抓取到所需數據對應的頁面,接下來,從頁面中提取數據的工作就相對明確很多。具體的使用方法可參考文檔,這里不在詳細介紹。
八 反爬蟲
1. 基本的反爬蟲手段,主要是檢測請求頭中的字段,比如:User-Agent、referer等。針對這種情況,只要在請求中帶上對應的字段即可。所構造http請求的各個字段最好跟在瀏覽器中發送的完全一樣,但也不是必須。
2. 基于用戶行為的反爬蟲手段,主要是在后臺對訪問的IP(或User-Agent)進行統計,當超過某一設定的閾值,給予封鎖。針對這種情況,可通過使用代理服務器解決,每隔幾次請求,切換一下所用代理的IP地址(或通過使用User-Agent列表解決,每次從列表里隨機選擇一個使用)。這樣的反爬蟲方法可能會誤傷用戶。
3. 希望抓取的數據是如果通過ajax請求得到的,假如通過網絡分析能夠找到該ajax請求,也能分析出請求所需的具體參數,則直接模擬相應的http請求,即可從響應中得到對應的數據。這種情況,跟普通的請求沒有什么區別。
4. 基于JavaScript的反爬蟲手段,主要是在響應數據頁面之前,先返回一段帶有JavaScript代碼的頁面,用于驗證訪問者有無JavaScript的執行環境,以確定使用的是不是瀏覽器。
通常情況下,這段JS代碼執行后,會發送一個帶參數key的請求,后臺通過判斷key的值來決定是響應真實的頁面,還是響應偽造或錯誤的頁面。因為key參數是動態生成的,每次都不一樣,難以分析出其生成方法,使得無法構造對應的http請求。
比如網站http://www.kuaidaili.com/,使用就是這種方式,具體可參見https://www.v2ex.com/t/269337。
在首次訪問網站時,響應的JS內容會發送帶yundun參數的請求,而yundun參數每次都不一樣。


圖6動態參數yundun
目前測試時,該JavaScript代碼執行后,發送的請求不再帶有yundun參數,而是動態生成一個cookie,在隨后的請求中帶上該cookie,作用類似于yundun參數。



圖7 動態cookie
針對這樣的反爬蟲方法,爬蟲方面需要能夠解析執行JavaScript,具體的方法可使用selenium或splinter,通過加載瀏覽器來實現。



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    亚洲欧美日韩国产yyy| 国产午夜精品久久久久久久 | 成人观看免费完整观看| 天天av天天操| 国产精品免费人成网站酒店| 一区二区国产欧美| 91popny丨九色丨国产| 国产xxxx孕妇| 奇米色在线视频| 蜜桃免费在线| 色999韩欧美国产综合俺来也| 国产成人1区| 蜜臀久久久久久久| 亚洲午夜激情网页| 成人激情午夜影院| 精品福利在线视频| 亚洲欧美一区二区三区久久| 国产日韩欧美日韩大片| 老司机av福利| 怡红院一区二区| 日韩不卡高清视频| 午夜羞羞视频| 求av网址在线观看| 911亚洲精品| 美女精品在线| 亚洲国产欧美在线| 亚洲欧美成人网| 热久久最新网址| 亚洲色成人网站www永久四虎| 欧美一区二区三区不卡视频| 再深点灬舒服灬太大了添少妇视频 | 欧美日韩中文一区二区| 国产aⅴ综合色| 欧美日韩高清一区二区不卡| 欧美精品aaa| 国产激情片在线观看| 国产免费嫩草影院| 无码精品人妻一区二区| 性一爱一乱一交一视频| 精品一区二区三区中文字幕视频| 久久五月激情| 精品免费在线视频| 国产区一区二区三区| 亚洲三级视频网站| 这里只有精品国产| 成人高清在线观看免费| 国产精品第一国产精品| 久久激情中文| 亚洲欧美国产日韩天堂区| 国产成人久久婷婷精品流白浆| 免费一区二区三区视频狠狠| 国产午夜在线观看| a毛片不卡免费看片| 黄色日韩精品| 色8久久人人97超碰香蕉987| 国产精品一区二区三区成人| 日本中文字幕影院| 国产日产亚洲系列最新| 超碰免费97在线观看| 婷婷伊人综合| 婷婷开心激情综合| 精品网站在线看| 日本黄色小视频在线观看| 国产伦精品一区二区三区视频小说| 日韩精品亚洲人成在线观看| 最新成人av网站| 欧美性欧美巨大黑白大战| 99视频国产精品免费观看| 全黄一级裸体片| www.91视频com| 欧美一区=区三区| 亚洲第一成年网| 一区二区在线观看网站| 欧美一二三区视频| 丁香花高清视频完整版在线观看| 国内精品久久久久久久影视麻豆| 亚洲视频网站在线观看| 免费无遮挡无码永久视频| 男人天堂视频网| 国内三级在线观看| 国产传媒日韩欧美成人| 久热精品视频在线观看一区| 免费在线a视频| 高清国产免费| 亚洲午夜精品一区二区国产| 欧美丝袜美女中出在线| 亚洲综合精品伊人久久| 极品白嫩丰满美女无套| 在线www天堂网在线| 狠狠综合久久av一区二区老牛| 久久久国产一区二区| 日本中文字幕二区| 高清av影院| 国v精品久久久网| 国产一区免费在线观看| 性xxxx搡xxxxx搡欧美| 日本久久精品| 日韩欧美在线观看一区二区三区| 日韩视频专区| 一区二区视频网站| 成人影院在线播放| av在线不卡电影| 57pao国产成人免费| 97香蕉碰碰人妻国产欧美| av电影在线免费观看| 啪啪亚洲精品| 中文字幕一区电影| 欧美大片久久久| 欧美乱大交xxxxx免费| 高潮按摩久久久久久av免费| 亚洲高清在线精品| 情侣黄网站免费看| 91成人福利在线观看| 亚洲综合日本| x99av成人免费| 女同性恋一区二区三区| 羞羞免费视频网站| 最新成人av网站| 国产精品久久久久免费a∨大胸 | 国产黄色高清视频| 国产精品久久久久一区二区三区厕所| 欧美乱大交xxxxx另类电影| 久久久久亚洲av成人网人人软件| 麻豆资源在线| 久久福利毛片| 亚洲专区中文字幕| 免费国产阿v视频在线观看| 亚洲精品456| 日韩精品中文字幕在线不卡尤物| 精品久久久久久无码中文野结衣| 最新国产麻豆精品| 欧美猛男同性videos| 色噜噜亚洲精品中文字幕| 久久中文字幕人妻| 青青草在线免费视频| 成人一道本在线| 亚洲在线视频观看| 国产精品自拍亚洲| 久久要要av| www欧美日韩| 在线观看毛片视频| 免费精品一区二区三区在线观看| 亚洲精品国产精品国产自| 亚洲成a人无码| www555久久| 亚洲精品在线免费观看视频| 无码人妻精品一区二区三| 黄色视屏在线免费观看| 五月婷婷激情综合网| 男人添女荫道口图片| 黑人巨大xxx| 久久婷婷亚洲| 视频一区视频二区视频三区视频四区国产 | 国产精品一区二区小说| 国产精品视频一区二区图片 | 国产精品99导航| 青草视频在线观看免费| jizz欧美| 中文字幕亚洲情99在线| 国产视频一区二区三| 亚洲一区视频| 国产精品久久久av久久久| 波多野结衣一二区| 国产精品黄色| 欧美日韩综合久久| 精品国产高清a毛片无毒不卡| 国产suv精品一区二区三区| 奇米影视亚洲色图| 尤物视频在线看| 日韩欧美999| 登山的目的在线| 久久电影tv| 欧美一区二区私人影院日本| 熟妇无码乱子成人精品| 成年人视频免费在线观看| 欧美日韩一区高清| 中文字幕一区二区三区人妻不卡| 亚洲高清国产拍精品26u| 97不卡在线视频| 国产成人精品一区二区色戒| 一区在线观看| 91视频免费在线| 先锋影音av中文字幕| 国产视频欧美| 欧美一级黄色录像片| 午夜免费性福利| 在线观看日产精品| 国产大学生视频| 成人香蕉社区| 九九视频直播综合网| 一色屋成人免费精品网站| 久久久99精品免费观看不卡| 妺妺窝人体色www看人体| 色av一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 日本中文字幕久久| 国内精品久久久久影院薰衣草 | 久久综合九色综合欧美98| 男人天堂手机在线视频| 中国字幕a在线看韩国电影|