獲取響應內容:
import requests
r = requests.get('')
print("文字編碼:",r.encoding) #伺服器使用的文字編碼
print("響應狀態碼:",r.status_code) #檢測響應的狀態碼,200為成功,4xx為客戶端錯誤,5xx為伺服器錯誤響應
print("字串方式的響應體:",r.text) #伺服器響應的內容
另外還有r.content是位元組方式的響應體,會自動解碼gzip和deflate編碼的響應資料;r.json()是requests中內建的json解碼器。
定製requests:
為了請求特定資料需要在url查詢字串中加入某些資料,一般跟在乙個問號後面,並且以鍵/值的形式放在url中:
import requests
key_dict =
r = requests.get('',params = key_dict)
print("url已經正確編碼:",r.url)
print("字串方式的響應體:\n",r.text)
#url已經正確編碼:
#字串方式的響應體:
# "args":
r = requests.post('',data = key_dict)
print(r.text)
超時:
可以在requests的timeout引數中設定:
import requests
link = ''
r = requests.get(link,timeout = 0.001)
爬蟲實踐:top250電影資料
目標**:
1、分析:
每頁有25個電影,第二頁時位址變為?start=25,第三頁strat=50,可見每過一頁就在start引數上加25
2、拿到網頁全部內容:
import requests
def get_movies():
headers = {
'host':"movie.douban.com"
for i in range(0,10):
link = '?start=' + str( i * 25)
r = requests.get(link,headers = headers,timeout = 10)
print(str(i + 1),"頁響應狀態碼:",r.status_code)
print(r.text)
get_movies()
3、分析後取出:
import requests
import re
def get_movies():
headers = {
'host':"movie.douban.com"
movie_list =
root_pattern = '([\s\s]*?)
'name_pattern = '([\w]*?)'
for i in range(0,10):
link = '?start=' + str( i * 25)
r = requests.get(link,headers = headers,timeout = 10)
print(str(i + 1),"頁響應狀態碼:",r.status_code)
root_html = re.findall(root_pattern,r.text)
for html in root_html:
name = re.findall(name_pattern,html)
print(movie_list)
get_movies()
我的個人主頁:www.unconstraint.cn
python 爬蟲實現網頁資訊抓取
首先實現關於網頁解析 讀取等操作我們要用到以下幾個模組 import urllib import urllib2 import re def test f urllib.urlopen while true firstline f.readline print firstline 我們大概要做幾件事...
python多執行緒爬蟲抓取網頁
突發想法,抓取 資料以便採用機器學習分析練手,網頁為年份。步驟如下 1 每乙個子執行緒抓取每一年的網頁 2 抓取網頁後利用正規表示式抽取資料,存入多維list。3 構建sql語句,存入mysql。user bin env python3 coding utf 8 from bs4 import be...
爬蟲基礎 Python 抓取網頁(學習筆記)
import urllib.request url headers 瀏覽器偽裝 request urllib.request.request url,headers headers 發出請求 開啟和讀取url請求並且爬取網頁內容 try response urllib.request.urlopen...