中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python網絡爬蟲與信息提取的示例分析

發布時間:2021-11-03 10:55:20 來源:億速云 閱讀:147 作者:小新 欄目:編程語言

這篇文章主要介紹了Python網絡爬蟲與信息提取的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1.學習Python網絡爬蟲與信息提取,必須會一門編程語言和懂得一些網絡相關知識,最好會Python語言;

2.Python網絡爬蟲講解是建立在:

    a、Requests框架:自動爬取HTML頁面與自動網絡請求提交

    b、robots.txt:網絡爬蟲排除標準

    c、BeautifulSoup框架:解析HTML頁面

    d、Re框架:正則框架,提取頁面關鍵信息

    e、Scrapy框架:網絡爬蟲原理介紹,專業爬蟲框架介紹

    等基礎上的;

3. Requests的基礎使用

注:Requests庫是目前公認的爬取網頁最好的Python第三方庫,具有簡單、簡捷的特點。

官方網站:http://www.python-requests.org  

在"C:\Windows\System32"中找到"cmd.exe",使用管理員身份運行,在命令行中輸入:“pip install requests”運行。  

使用IDLE測試Requests庫:

>>> import requests
>>> r = requests.get("http://www.baidu.com")#比如抓取百度頁面
>>> r.status_code
>>> r.encoding = 'utf-8'
>>> r.text

Requests庫的7個主要方法 

方法 說明 
  requests. request()  構造一個請求,支撐一下各方法的基礎方法
  requests.get()  獲取HTML網頁的主要方法,對應HTTP的GET
  requests.head()  獲取HTML網頁頭的信息方法,對應HTTP的HEAD
  requests.post()  向HTML網頁提交POST請求方法,對應HTTP的POST
  requests.put()  向HTML網頁提交PUT請求的方法,對應HTTP的RUT
  requests.patch()  向HTML網頁提交局部修改請求,對應于HTTP的PATCH
  requests.delete()  向HTML頁面提交刪除請求,對應HTTP的DELETE

get()方法詳解:

r = requests.get(url)


get()方法構造一個向服務器請求資源的Request對象,返回一個包含服務器資源的Response對象。


requests.get(url, params=None, **kwargs)


url:擬獲取頁面的url鏈接
params:url中的額外參數,字典或字節流格式,可選
**kwargs:12個控制訪問參數


Requests庫的2個重要對象
· Request
· Response:Response對象包含爬蟲返回的內容


Response對象的屬性

     1. r.status_code :HTTP請求的返回狀態,200表示連接成功,404表示失敗
     2. r.text :HTTP響應內容的字符串形式,即,url對應的頁面內容
    3. r.encoding : 從HTTP header中猜測的相應內容編碼方式
    4. r.apparent_encoding : 從內容中分析出的相應內容編碼方式(備選編碼方式)
    5. r.content : HTTP響應內容的二進制形式
   6. r.encoding :如果header中不存在charset,則認為編碼為ISO-8859-1 。
   7. r.apparent_encoding :根據網頁內容分析出的編碼方式可以 看作是r.encoding的備選。


Response的編碼:

    8. r.encoding : 從HTTP header中猜測的響應內容的編碼方式;如果header中不存在charset,則認為編碼為ISO-8859-1,r.text根據r.encoding顯示網頁內容
     9.r.apparent_encoding : 根據網頁內容分析出的編碼方式,可以看作r.encoding的備選
    10.r.raise_for_status() : 如果不是200,產生異常requests.HTTPError;

 4.Robots協議

    Robots Exclusion Standard 網絡爬蟲排除標準

    作用:網站告知網絡爬蟲哪些頁面可以抓取,哪些不行。

     形式:在網站根目錄下的robots.txt文件。

例如:

# 注釋:*代表所有,/代表根目錄
User-agent: *
Disallow: /?*
Disallow: /pop/*.html
Disallow: /pinpai/*.html?*
User-agent: EtaoSpider
Disallow: /
User-agent: HuihuiSpider
Disallow: /
User-agent: GwdangSpider
Disallow: /
User-agent: WochachaSpider
Disallow: /

注:Robots協議是建議但非約束性,網絡爬蟲可以不遵守,但存在法律風險。

 實例:

import requests
url = "https://item.jd.com/5145492.html"
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失敗")

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python網絡爬蟲與信息提取的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德昌县| 旬邑县| 怀来县| 博客| 辽阳市| 古田县| 莒南县| 阳东县| 岳普湖县| 龙川县| 淮南市| 呼图壁县| 湘乡市| 岱山县| 酉阳| 水富县| 林西县| 陆良县| 平乡县| 建始县| 尚志市| 双牌县| 汪清县| 合江县| 鸡东县| 定南县| 禹州市| 喜德县| 育儿| 安达市| 吴江市| 灵山县| 崇信县| 日土县| 乌恰县| 玉溪市| 金塔县| 米易县| 宁陵县| 锦州市| 潞西市|