欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python爬蟲

系統 1853 0

python爬蟲1

《1》什么是爬蟲網絡爬蟲?
網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人), 是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。

《2》爬蟲的基本原理:
我們把互聯網比喻為一張大網,網絡爬蟲我們想象為網上的蜘蛛,網頁與網頁之間的連接我們理解為節點,爬蟲就相當于是訪問網頁,獲取網頁的信息,又通過節點可以爬取另一個網站,然后不停的通過一個個節點即訪問一個個網頁,這樣網站的數據就可以被我們獲取下來了。

《3》爬蟲的分類:網絡爬蟲可分為 通用爬蟲 聚焦爬蟲 兩種

1 通用爬蟲 :通用網絡爬蟲 是 捜索引擎抓取系統(Baidu、Google、Yahoo等)的重要組成部分。主要目的是將互聯網上的網頁下載到本地,形成一個互聯網內容的鏡像備份。
2 聚焦爬蟲 :聚焦爬蟲,是"面向特定主題需求"的一種網絡爬蟲程序,它與通用搜索引擎爬蟲的區別在于:聚焦爬蟲在實施網頁抓取時會對內容進行處理篩選,盡量保證只抓取與需求相關的網頁信息。

urllib庫

三個方面:

request: 它是最基本的HTTP請求模塊,可以用來模擬發送請求,就像在瀏覽器中輸入網址,然后敲擊回車鍵一樣,使用的時候只需要給庫方法傳入相關的URL和相關的參數即可.

error: 異常處理模塊,如果出現請求錯誤,我們可以使用這個模塊來捕獲異常,然后進行重試或者其他操作,保證程序不會意外終止.

parse: 這是一個工具模塊,提供了許多url的處理方法,比如拆分,解析,合并等等.

參數序列化:

1 parse_qs() 將url編碼格式的參數反序列化為字典類型
2 quote() 可以將中文轉換為URL編碼格式
3 unquote: 可以將URL編碼進行解碼
4 urljoin() 傳遞一個基礎鏈接,根據基礎鏈接可以將某一個不完整的鏈接拼接為一個完整鏈接
5 urlparse() 實現URL的識別和分段
6 urlunparse() 可以實現URL的構造

正則表達式

實際上爬蟲一共就四個主要步驟:

            
              * 明確目標 (要知道你準備在哪個范圍或者網站去搜索)
* 爬 (將所有的網站的內容全部爬下來)
* 取 (去掉對我們沒用處的數據)
* 處理數據(按照我們想要的方式存儲和使用)

            
          

常用的正則匹配規則:
單字符撇匹配

            
              * \d : 匹配數字0-9
* \D: 匹配非數字 [^\d] [^0-9]
* \w: 匹配單詞字符[a-zA-Z0-9_]
* \W: 匹配非單詞字符 [^\w]
* \s: 匹配空白字符 (空格、\t....)
* \S: 匹配非空白字符 [^\s]
* . 匹配除了換行符'\n'之外的任意字符

            
          

多字符匹配(貪婪:盡可能多的匹配)
* 匹配*前的正則表達式,任意次數
? 匹配?前的正則表達式,0次或1次
+ 匹配+前的正則表達式,至少一次
{n,m} 匹配{n,m}前的正則表達式, n到m次
{n} 匹配{n}前的正則表達式, n次

非貪婪匹配 (非貪婪匹配:盡可能少的匹配)
*?
??
+?

其他:
== | 或:匹配左邊和右邊的正則表達式之一==
== () 分組==
^ 匹配字符串開頭
== $ 匹配字符串結尾==

re 模塊

            
              1. compile 方法: 將正則表達式的字符串形式編譯為一個 Pattern 對象
2. match 方法:從起始位置開始匹配符合規則的字符串,單次匹配,匹配成功,立即返回Match對象,未匹配成功則返回None
3. search 方法:從整個字符串中匹配符合規則的字符串,單次匹配,匹配成功,立即返回Match對象,未匹配成功則返回None
4. findall 方法:匹配所有合規則的字符串,匹配到的字符串放到一個列表中,未匹配成功返回空列表
5. finditer 方法:匹配所有合規則的字符串,匹配到的字符串放到一個列表中,匹配成功返回
6. split 方法:根據正則匹配規則分割字符串,返回分割后的一個列表
7. sub 方法:替換匹配成功的指定位置字符串

            
          

XPath選擇器

<1>什么是XPath?

  • XPath (XML Path Language) 是一門在 XML 文檔中查找信息的語言,可用來在 XML 文檔中對元素和屬性進行遍歷。

<2>XPath最常用的路徑表達式:

  • /從根節點選取。
  • //從匹配選擇的當前節點選擇文檔中的節點,而不考慮它們的位置。
  • .選取當前節點。
  • …選取當前節點的父節點。
  • @選取屬性。
  • bookstore選取 bookstore 元素的所有子節點。
  • /bookstore選取根元素 bookstore。注釋:假如路徑起始于正斜杠( / ),則此路徑始終代表到某元素的絕對路徑!
  • bookstore/book選取屬于 bookstore 的子元素的所有 book 元素。
  • //book選取所有 book 子元素,而不管它們在文檔中的位置。
  • bookstore//book選擇屬于 bookstore 元素的后代的所有 book 元素,而不管它們位于 bookstore 之下的什么位置。
  • //@lang選取名為 lang 的所有屬性。
  • /bookstore/*選取 bookstore 元素的所有子元素。
  • //*選取文檔中的所有元素。html/node()/meta/@*選擇html下面任意節點下的meta節點的所有屬性
  • //title[@*]選取所有帶有屬性的 title 元素。

python爬蟲_第1張圖片

CSS 選擇器:BeautifulSoup4

  • 注:和 lxml 一樣,Beautiful Soup 也是python的一個HTML/XML的解析器,用它可以方便的從網頁中提取數據。
  • BeautifulSoup 用來解析 HTML 比較簡單,API非常人性化,支持CSS選擇器、Python標準庫中的HTML解析器,也支持 lxml 的 XML解析器。

官方文檔:http://beautifulsoup.readthedocs.io/zh_CN/v4.4.0


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 被摁着灌浓精囚禁高h1v1 | 在线视频不卡国产在线视频不卡 | 日韩在线免费视频观看 | 一区二区三区四区精品 | 一区二区三区日 | 丁香婷婷久久久综合精品国产 | 日韩黄色网 | 欧美日韩精品久久久免费观看 | 欧美三级短视频 | 看片亚洲 | 精品欧美一区二区精品久久久 | 久久亚洲热 | 日韩在线观看网站 | 国产亚洲精品影视在线 | 色人人 | 国产欧美精品一区二区三区 | 奇米影视7777 | 日本高清中文字幕一区二区三区 | 国产精品久久久久久久久久久新郎 | 国产精品九九久久一区hh | 亚洲国产成a人v在线 | 日本亚洲一区二区 | 免费看那种视频 | 国产欧美曰韩一区二区三区 | 国产男女免费完整版视频 | 日本午夜免费无码片三汲大片 | 亚洲日本中文字幕天天更新 | 97色伦网| 国产成人一区二区三区电影 | 久久在线播放 | 亚洲二区视频 | 久久久久久综合 | 日日干天天摸 | 欧美爱爱一区二区 | 澳门特级 片免费观看视频 久草最新在线 | 国产精品99久久 | 亚洲成人免费 | 国产免费久久 | 一区二区三区欧美 | 在线色网 | 精品成人免费 |