import requests
1、requests庫有兩個物件,request物件和response物件,下表是response物件的屬性
屬性說明
r.status_code
http請求的返回狀態,200表示連線成功,404表示失敗
r.text
http響應內容的字串形式,即,url對應的頁面內容
r.enconding
從httpheader中猜測的響應內容編碼方式
從內容中分析出的響應內容編碼方式(備選編碼方式)
r.content
http響應內容的二進位制形式
2、requests庫異常
異常說明
requests.connectionerror
網路連線錯誤異常,如dns查詢失敗,拒絕連線
http錯誤異常
requests.urlrequired
url缺失異常
requests.toomanyredirects
超過最大重定向次數,產生重定向異常
requests.connecttimeout
連線遠端伺服器超時異常
requests.timeout
請求url超時,產生超時異常
3、get()函式,獲取html網頁的主要方法,對應http的get,requests.get(url,params=none,**kwargs) url是鏈結位址,params是url中的額外引數,字典或位元組流格式,可選。**kwargs,十二個控制訪問的引數。
print一下的話,你會發現#通用爬取框架
import requests
def gethtmltext(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()#如果不是200,引發httperror異常
return r.text
except:
return "產生異常"
import requests
payload = #wd是搜尋詞,rn是搜尋結果數量
r = requests.get("", params=payload)
>>> print(r.url)
?wd=%e4%b8%ad%e5%9b%bd&rn=100
5.模擬瀏覽器訪問import requests
url=""
try:
kv=r=requests.get(url,headers=kv)
r.raise_for_status()
print(r.text[:1000])
except:
print("爬取失敗")
6、爬取import requests
import os
#爬取的是兩頭狼
url=""
keyword='程式猿'
root="e:/web_spider/"
path=root+url.split('/')[-1]
kv=kd=
try:
# r=requests.get(url,params=kd,headers=kv)
if not os.path.exists(root):
os.mkdir(root)
if not os.path.exists(path):
r=requests.get(url,headers=kv)
r.raise_for_status()
with open(path,'wb') as f:
f.write(r.content)
f.close()
print("檔案儲存成功")
else:
print("檔案已經存在")
except:
print("爬取失敗")
注:參考資源來自中國大學mooc《python網路爬蟲與資訊提取》
python學習筆記 flask之request
from flask import request coding utf 8 from flask import flask,request def index 訪問上面定義的路徑就是訪問此方法 請求行 print request.method request.method 獲取請求方法 print...
Python 網路爬蟲之BeautifulSoup
在上一節記錄了如何使用urllib進行網路爬蟲,並將資料儲存。但是我當時是使用的正規表示式進行的資料過濾,有些不全面。接下來我將記錄一種更加方便的解析資料的操作 beautifulsoup 安裝beautifulsoup4 導包import urllib.request from bs4 impor...
Python之網路爬蟲(1)
將 中所有的出版社資訊都爬取出來。如下 可以看到,網頁中有許多的出版社。下面我們用 將所有出版社的名字爬取出來,並儲存在檔案中。import urllib.request import re url data urllib.request.urlopen url read data data.dec...