網路爬蟲例子

2022-10-11 18:48:09 字數 2334 閱讀 4087

一、最簡單的乙個例子

**如下:

import requests

url=''

res=requests.get(url)

res.encoding='utf-8'

print(res.text) #res.text是網頁的內容,就是在瀏覽器中檢視網頁源**看到的內容

上面的 requests 就是用來訪問網路獲取資訊的模組,其get方法用於獲取網頁的內容。

二、解析html檔案

通過上面的 res.text 是乙個純文字的html頁面內容,實際要獲取頁面中的資訊,需要解析html文件。

這裡可使用 beautifulsoup 模組,該模組aconcada已內建,如果要安裝,可以 pip install  beautifulsoup4

下面是乙個例子

import requests

from bs4 import beautifulsoup #beautifulsoup模組用於解析html頁面

url=''

res=requests.get(url)

res.encoding='utf-8'

soup = beautifulsoup(res.text)

print(soup.title) #輸出網頁的標題(含html標籤)

print(soup.title.name) #輸出html標籤

print(soup.title.string) #輸出標籤的內容

再看如何獲取頁面中的**(上面例子網頁中的教師資訊是在很多個html的table中),**如下

import requests

from bs4 import beautifulsoup #beautifulsoup模組用於解析html頁面

url=''

res=requests.get(url)

res.encoding='utf-8'

soup = beautifulsoup(res.text)

alltables = soup.select('table') # 根據html的標籤查詢網頁中所有的**(**元素的標籤是table),

print(type(alltables)) #alltables是乙個 bs4.element.resultset物件,是乙個結果集

table = alltables[0] #按序號獲取第乙個元素

print(type(table)) # bs4.element.tag

tablestr = str(table) #轉換為字串。

for table in alltables: #可以遍歷**

pass

三、利用pandas將 獲取的網頁中的table轉換為 dataframe,這樣就可做更多處理,包括輸出到excel中

例子**如下:

import requests   # requests 模組用於獲取網頁資訊

import pandas as pd

url=''

res=requests.get(url)

res.encoding='utf-8'

tables = pd.read_html(res.text) #將網頁內容res.text傳遞給read_html方法,會自動解析出其中所有的**,返回乙個列表(dataframe物件的列表)

print(len(tables))

tables[0].to_excel('user.xlsx',index=false) #輸出到excel

tables[0] #輸出第乙個**

df = pd.concat(tables) #合併多個**

df.to_excel('alluser.xlsx',index=false) #輸出到excel

for table in tables: #遍歷

pass

實際上如果只是獲取網頁中的**,pandas直接支援,並不需要使用requests模組,**如下:

import pandas as pd  

url=''

tables = pd.read_html(url) #pandas可以直接根據url位址,訪問網頁,獲取其中的**

print(len(tables))

tables[0].to_excel('user.xlsx',index=false) #輸出到excel

tables[0] #輸出第乙個**

df = pd.concat(tables) #合併多個**

df.to_excel('alluser.xlsx',index=false) #輸出到excel

網路爬蟲之簡單例子

網路爬蟲的簡單例子 京東頁面的簡單爬取 import requests url try r requests.get url r.raise for staus print r.text 1000 except print 爬取失敗 對於像亞馬遜的 會反爬蟲需要偽裝成瀏覽器 import reque...

python爬蟲小例子

如下 r.raise for status 的功能是判斷返回的狀態碼,如果狀態碼不是200 如404 則丟擲異常 來檢視user agent屬性。requests庫寫的 預設user agent是 python requests x.xx.x x表示版本號 如果訪問不成功,可嘗試修改 user ag...

Go 爬蟲小例子

爬取指定頁面 func working start,end int 將讀到的資料儲存成乙個檔案 file,err os.create 第 strconv.itoa i 頁 html 迴圈讀取網頁資料 緩衝區 buf make byte,2048 forif err nil err io.eof 累加...