我們先簡單的說一下如何抓取乙個網頁的源**,其實我們只需要呼叫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...