Python 簡單網路抓取

2021-08-10 08:21:33 字數 1611 閱讀 1477

我們先簡單的說一下如何抓取乙個網頁的源**,其實我們只需要呼叫python中的requests庫中的get方法就可以了。然後解析的話我們可以通過beautifulsoup庫來進行解析。

requests比較適合做中小型的網路爬蟲開發,如果是要進行大型的網路爬蟲開發那一般使用的就是scrapy框架了。

requests.get() 這個方法其實就是請求獲取指定url位置的資源,對應的http協議中的get方法

requests庫的官網

如下是官網上介紹的一些方法

通過status_code來檢視狀態碼,text來檢視網頁的內容,可以通過r.encoding去修改檔案的編碼

我們在抓取的時候要去看一下這個**是不是有爬蟲協議,有一些**會提供robots.txt這麼乙個檔案,一般來說這個檔案是放在**網域名稱的根目錄下的,裡面制定的是一些規則,希望我們去遵守,如果存在的這個檔案就表示它有自己的爬蟲協議。這個協議中一般都有user-agent:  如果後面為*的話就表示可以允許所有的爬蟲抓取.​

disallow 行列出的是要攔截的網頁,以正斜線 (/) 開頭,可以列出特定的**或模式。要遮蔽整個**,使用正斜線即可;要遮蔽某一目錄以及其中的所有內容,在目錄名後新增正斜線;要遮蔽某個具體的網頁,就指出這個網頁。就比如說遮蔽整個**的話就是用

disallow: /

協議中還有可能會出現下面的這個東西

crawl-delay:5

表示本次抓取後下一次抓取前需要等待5秒。

還有就是我們可能會看到有的協議是allow和disallow是一起用的,這個的含義的話,舉個例子來說下吧,如下所示,這裡表示的就是將攔截 qqlk目錄內除file.html 之外的所有頁面

下面來看下csdn的爬蟲協議吧

抓取的**如下,首先如果我們沒有requests庫的話我們要先去安裝requests庫,然後再去寫**

import requests

//請求url

r = requests.get('')

//檢視狀態碼

print(r.status_code)

//輸出內容,text可以自動的推測文字編碼進行解碼

print(r.text)

關於網頁資料的解析,我們可以通過beautifulsoup來完成,它可以從html或者是xml檔案中方便提取資料。下面是官方文件介紹

關於html解析器的選擇我們最好都是去選擇lxml,具體原因可以看文件的解釋。

關於它的使用,這裡就不展開了,可以去看官方文件。

python抓取網路內容

最近想做研究網際網路來獲取資料,只是有一點python,讓我們來看乙個比較簡單的實現。例如,我想抓住歐巴馬的每週演講手動提取,就須要乙個個點進去,再複製儲存,很麻煩。那有沒有一步到位的方法呢。用python這樣的強大的語言就能高速實現。首先我們看看這網頁的源 能夠發現。我們要的資訊就在這樣 更詳細點...

python抓取簡單頁面資訊

我們最常規的做法就是通過滑鼠右鍵,選擇另存為。但有些滑鼠右鍵的時候並沒有另存為選項,還有辦法就通過就是通過截圖工具擷取下來,但這樣就降低的清晰度。好吧 其實你很厲害的,右鍵檢視頁面源 我們可以通過python 來實現這樣乙個簡單的爬蟲功能,把我們想要的 爬取到本地。下面就看看如何使用 python ...

python執行緒抓取頁面簡單內容

用到的基本就是之前提到的執行緒小框架及邏輯 encoding utf 8 import requests from lxml import etree import threading import os class cnbeta object thread 獲取 首頁 def get url se...