想用selenium實作B站自動登錄以及點贊等功能,便查閱如何解決滑動解鎖,然而是有關爬蟲的內容,便開始學習爬蟲,沒過多久又想把記錄自己生活的網站做起來,朋友便推薦了layui框架倒騰了一晚上自我覺得是做給后端程式員入門的框架,Vue又感覺太難,便開始搞bootstrap,沒搞出個所以然來,因為閑著心情煩躁便開始重新學習爬蟲,每次寫點文章總是碎碎念一段,有人在評論去區說我矯情,是真的,
安裝:pip install requests
http請求回傳response物件屬性

編碼問題
import requests
r=requests.get('http://www.baidu.com/')
r.encoding='gbk' 或 r.encoding=r.apparent_encoding
#百度回傳的頁面內容為ISO-8859-1編碼的,如果不設定成gbk則亂碼
print(response.text)
requests的庫例外處理

requests庫的主要方法

1 import requests
2 r = requests.get('https://www.cnblogs.com/')
3 r = requests.head('http://httpbin.org/get')
4 r = requests.post('http://httpbin.org/post',key='value')
5 r = requests.put('http://httpbin.org/put',key='value')
6 r = requests.patch('http://httpbin.org/patch',key='value')
7 r = requests.options('http://httpbin.org/get')
8 r = requests.delete('http://httpbin.org/delete')
爬取網頁通用框架
1 import requests
2 def get_Html(url):
3 try:
4 r = requests.get(url,timeout=30)
5 r.raise_for_status()
6 r.encoding=r.apparent_encoding
7 return r.text
8 except:
9 return "產生例外"
10
11 if __name__=="__main__":
12 url = "http://www.baidu.com"
13 print(get_Html(url))
幾個小案例
案例一 京東商品爬取
import requests
url = 'https://item.jd.com/100010131982.html'
try:
r = requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[:1000]) #1000代表截取前1000個字符
except:
print("爬取失敗")
案例二 亞馬遜
import requests
url = 'https://www.amazon.cn/dp/B08531C6PV/ref=s9_acsd_hps_bw_c2_x_1_i?pf_rd_m=A1U5RCOVU0NYF2&pf_rd_s=merchandised-search-top-3&pf_rd_r=XXHRT6R61ZYZA5FGMPKJ&pf_rd_t=101&pf_rd_p=b2e55b79-7940-4444-967a-6dbe6d7cb574&pf_rd_i=1935403071'
try:
kv = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'} #模擬瀏覽器
r= requests.get(url,headers = kv)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[1000:2000])
except:
print("爬取失敗")
案例三 百度
import requests
kv = {'wd':'python'}
r = requests.get('http://www.baidu.com/s',params=kv)
print(r.requests.url)
print(len(r.text))
等學到新的就來更新,我記得剛學的時候我就開始爬貼吧了,現在老老實實看基礎了
未完待續!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/176791.html
標籤:Python
上一篇:JAVA自定義注解
