幾個爬蟲小例項

2021-08-18 06:30:28 字數 2317 閱讀 4132

學習北理的爬蟲課,其中幾個例項自己實現了一下,打一下基礎:

1.京東商品頁面的爬取:

import requests

url=""

try:

r=requests.get(url)

r.raise_for_status()

print(r.text[:1000])

except:

print("

爬取失敗

")

2.爬取亞馬遜商品頁面該例子是說明有些**有反扒機制,驗證訪問服務的**是否是正常的(一般為瀏覽器),而我們利用requests訪問亞馬遜的伺服器時,有乙個屬性為user-agent(在headers內),若我們直接利用request訪問,則為python-requests,亞馬遜拒絕這種型別的**進行訪問其伺服器。解決辦法為將request返回的內容的header欄位內的user-agent修改為乙個具體的瀏覽器的名稱,利用鍵值對kv=,偽裝成利用瀏覽器訪問。這種方法適用於其他含有相同反扒機制的**。

import requests

url=""

try:

kv = #

利用鍵值對修改

headers

內的user-agent

欄位r=requests.get(url,

headers=kv)

r.raise_for_status()

print(r.text[1000:2000])

except:

print("

爬取失敗

")

import requests

try:

kv=r=requests.get(""

,params=kv)

r.raise_for_status()

print(r.request.url)

except:

print("

爬取失敗

")

執行結果:

4.網路的爬取和儲存

首先利用requests函式獲得,將內容的二進位制形式儲存到資料夾內,下面**內包含了通過路徑建立資料夾的過程,下述**我是爬取了地大學校官網上的乙個

import requests

import os

root="e://pics//"

url=""

path=root+url.split('/')[-1]#

將倒數第乙個

'/'後面的字串擷取下來

try:

if not os.path.exists(root):#

如果該路徑不存在則建立路徑

os.mkdir(root)

if not os.path.exists(path):

r=requests.get(url)

with

open(path,

'wb')as f:#

向path

內寫入內容

f.write(r.content)#r.content

代表返回內容的二進位制形式

f.close()

print("

檔案儲存成功

") else:

print("

檔案已存在

")except:

print("

爬取失敗

")

5.ip歸屬地的自動查詢方法一:直接採用字串相加

import requests

url=""

try:

#kv=

r=requests.get(url+'202.204.105.195')

r.raise_for_status()

print(r.text)

except:

print("

爬取失敗

")

方法二:還可以採用params屬性向url後追加內容

import requests

url=""

try:

kv=r=requests.get(url,

params=kv)

r.raise_for_status()

print(r.text)

except:

print("

爬取失敗

")

幾個PHP物件導向小例項

抽象類 抽象類不能被例項化,抽象類與其它類一樣,允許定義變數及方法,抽象類同樣可以定義乙個抽象的方法,抽象類的方法不會被執行,不過將有可能會在其派生類中執行。例1 抽象類 call php5 的物件新增了乙個專用方法 call 這個方法用來監視乙個物件中的其它方法。如果你試著呼叫乙個物件中不存在的方...

Python爬蟲小例項 爬高校排名

程式目的 獲取大學排名網頁內容,並格式化輸出。讀懂以下程式需提前了解requests庫和beautifulsoup庫,在 網路爬蟲與資訊提取課程 有提供相關知識。from bs4 import beautifulsoup import bs4 import requests def gethtmlt...

Python爬蟲例項

中國大學排名專案 功能描述 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入url進行爬取,不擴充套件爬取 程式的結構設計 步驟1 從網路上獲取大學排名網頁內容 步驟2 提取網頁內容中資訊到合適的資料結構 二維列表 步驟3 利用資料結構展示並...