獲取響應信息
import requests
response = requests.get('http://www.baidu.com')
print(response.status_code) # 狀態碼
print(response.url) # 請求url
print(response.headers) # 響應頭信息
print(response.cookies) # cookie信息
print(response.content) # bytes形式的響應內容
print(response.encoding) # 獲取響應內容編碼
response.encoding=”utf-8” # 指定響應內容編碼
print(response.text) # 文本形式的響應內容,response.content編碼后的結果
發送Get請求
不帶參數的Get請求
response = requests.get('http://www.baidu.com')
print(response.text)
帶參數的Get請求
直接寫在url后面
在url后面用?表示帶上參數,每對參數用&分隔。如下url:
https://www.bilibili.com/vide...
注意:url最長2048字節,且數據透明不安全
作為字典參數傳入
data = {'name': 'xiaoming', 'age': 26}
response = requests.get('http://www.abcd.com', params=data)
print(response.text)
發送post請求
只能作為字典參數傳入,注意參數名字是data而不是params
data = {'name': 'xiaoming', 'age': 26}
response = requests.post('http://www.abcd.com', data=data)
print(response.text)
添加headers
heads = {}
heads['User-Agent'] = 'Mozilla/5.0 ' /
'(Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 ' /
'(KHTML, like Gecko) Version/5.1 Safari/534.50'
response = requests.get('http://www.baidu.com',headers=headers)
使用代理
proxy = {'http': '49.89.84.106:9999', 'https': '49.89.84.106:9999'}
heads = {}
heads['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'
req = requests.get(url, proxies=proxy, headers=heads)
print(req.text)
使用加密代理
from requests.auth import HTTPProxyAuth
proxies= {'http': '127.0.0.1:8888', 'https': '127.0.0.1:8888'}
auth = HTTPProxyAuth('user', 'pwd')
requests.get(url, proxies=proxies, auth=auth)
也可以這樣
proxies = {"http": "http://user:pass@10.10.1.10:3128/",}
req = requests.get(url, proxies=proxy, headers=heads)
Cookie
獲取Cookie
import requests
response = requests.get("http://www.baidu.com")
print(type(response.cookies))
# 把cookiejar對象轉化為字典
cookies = requests.utils.dict_from_cookiejar(response.cookies)
print(cookies)
使用Cookie
cookie = {"Cookie":"xxxxxxxx"}
response = requests.get(url,cookies=cookie)
Session
session = requests.Session()
session.get('http://httpbin.org/cookies/set/number/12345')
response = session.get('http://httpbin.org/cookies')
print(response.text)
限定響應時間
from requests.exceptions import ReadTimeout
try:
response = requests.get('https://www.baidu.com', timeout=1)
print(response.status_code)
except :
print('給定時間內未響應')
解析JSON格式的響應內容
通過response.json()方法可以將為JSON格式的響應內容轉變為Python的對象,json.loads(response.text)也能起到同樣的作用
response = requests.get('http://www.abcd.com')
print(response.text)
print(response.json())
print(type(response.json()))
想進一步了解編程開發相關知識,與我一同成長進步,請關注我的公眾號“松果倉庫”,共同分享宅&程序員的各類資源,謝謝!!!
審核編輯 黃昊宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
python
+關注
關注
56文章
4801瀏覽量
84859 -
爬蟲
+關注
關注
0文章
82瀏覽量
6949
發布評論請先 登錄
相關推薦
Python數據爬蟲學習內容
流程來實現的。這個過程其實就是模擬了一個人工瀏覽網頁的過程。Python中爬蟲相關的包很多:urllib、requests、bs4、scrapy、pyspider 等,我們可以按照reques
發表于 05-09 17:25
Python爬蟲與Web開發庫盤點
beautifulsoup4、urllib2、lxml和requests是學習Python爬蟲必備的庫,必須要掌握,當然有的同學說爬網頁不是也可以用正則表達式嗎,確實可以但是會很不方便,因為bs4和lxml都有便捷
發表于 05-10 15:21
Python爬蟲初學者需要準備什么?
了一個人工瀏覽網頁的過程。Python中爬蟲相關的包很多:urllib、requests、bs4、scrapy、pyspider 等,我們可以按照requests 負責連接網站,返回網
發表于 06-20 17:14
0基礎入門Python爬蟲實戰課
學習資料良莠不齊爬蟲是一門實踐性的技能,沒有實戰的課程都是騙人的!所以這節Python爬蟲實戰課,將幫到你!課程從0基礎入門開始,受眾人群廣泛:如畢業大學生、轉行人群、對Python
發表于 07-25 09:28
Python爬蟲簡介與軟件配置
Python爬蟲練習一、爬蟲簡介1. 介紹2. 軟件配置二、爬取南陽理工OJ題目三、爬取學校信息通知四、總結五、參考一、爬蟲簡介1. 介紹網絡爬蟲
發表于 01-11 06:32
python網絡爬蟲概述
的數據,從而識別出某用戶是否為水軍學習爬蟲前的技術準備(1). Python基礎語言: 基礎語法、運算符、數據類型、流程控制、函數、對象 模塊、文件操作、多線程、網絡編程 … 等(2). W3C標準
發表于 03-21 16:51
python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎
本文檔的主要內容詳細介紹的是python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎
發表于 08-28 15:32
?29次下載
python爬蟲框架有哪些
本視頻主要詳細介紹了python爬蟲框架有哪些,分別是Django、CherryPy、Web2py、TurboGears、Pylons、Grab、BeautifulSoup、Cola。
如何解決Python爬蟲中文亂碼問題?Python爬蟲中文亂碼的解決方法
如何解決Python爬蟲中文亂碼問題?Python爬蟲中文亂碼的解決方法 在Python爬蟲過程
評論