日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

利用python爬虫(part4)--requests模块之requests.get方法

發(fā)布時間:2023/12/19 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用python爬虫(part4)--requests模块之requests.get方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

學(xué)習(xí)筆記


文章目錄

    • requests模塊
      • requests常用方法
        • requests.get()


requests模塊

  • 關(guān)于requests模塊的安裝

進(jìn)入cmd,輸入以下代碼,即可安裝:

pip install requests

requests常用方法

requests.get()

  • 作用

向網(wǎng)站發(fā)起請求,并獲取響應(yīng)對象。

  • 語法
res = requests.get(url,headers=headers) #url :需要抓取的URL地址 #headers : 請求頭 #timeout : 超時時間,超過時間會拋出異常
  • 響應(yīng)對象(res)屬性
# 響應(yīng)字符編碼 res.encoding #res.encoding = 'utf-8'# 字符串 res.text#字節(jié)流 res.content #HTTP響應(yīng)碼 res.status_code #實際數(shù)據(jù)的URL地址 res.url
  • 舉個例子1

我們訪問測試網(wǎng)站(http://httpbin.org/get).當(dāng)我們訪問這個網(wǎng)站時,網(wǎng)站會返回我們的請求頭。

代碼:

import requests import random from my_user_agent_list import user_agenturl = 'http://httpbin.org/get'headers = {'User-Agent':random.choice(user_agent)}#創(chuàng)建請求對象 res = requests.get(url, headers = headers) #得到html字符串 html = res.text print(html)

備注:my_user_agent_list模塊,是我自定義的模塊。模塊里放著一個列表user-agent, 列表里包含了各種User-Agent字符串。

控制臺輸出結(jié)果:

{"args": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1", "X-Amzn-Trace-Id": "Root=1-5e867a3e-79e73bc2a78fb809260d2b4e"}, "origin": "183.164.105.16", "url": "http://httpbin.org/get" }

我們看到,測試網(wǎng)站返回給我們一個json格式的字符串。在這些字符串中我們可以觀察到我們發(fā)送請求的請求頭。

  • 舉個例子2(指定響應(yīng)編碼)

在我們向一個網(wǎng)站發(fā)起請求時,如果不指定編碼形式, 則requests會根據(jù)網(wǎng)站的響應(yīng),猜測網(wǎng)站的編碼。

①不指定編碼

代碼:

import requests import random from my_user_agent_list import user_agenturl = 'http://www.baidu.com/'headers = {'User-Agent':random.choice(user_agent)}res = requests.get(url, headers = headers) print('響應(yīng)編碼:', res.encoding)

控制臺輸出結(jié)果:

響應(yīng)編碼: utf-8

②指定編碼

代碼:

import requests import random from my_user_agent_list import user_agenturl = 'http://www.baidu.com/'headers = {'User-Agent':random.choice(user_agent)}res = requests.get(url, headers = headers) res.encoding = 'gbk' print('響應(yīng)編碼:', res.encoding)

控制臺輸出結(jié)果:

響應(yīng)編碼: gbk
  • 舉個例子3(抓取北極兔圖片)

對于非結(jié)構(gòu)化數(shù)據(jù)(比如:音頻,視頻,圖片),采用二進(jìn)制的形式抓取。

我們在百度圖片里搜索到要抓取的北極兔圖片,并檢查元素,獲取圖片地址:

代碼:

import requests import random from my_user_agent_list import user_agenturl = 'http://b-ssl.duitang.com/uploads/item/201301/15/20130115235815_LQQVU.jpeg' headers = {'User-Agent':random.choice(user_agent)}html = requests.get(url, headers = headers).content#將圖片保存到本地 with open('test/北極兔.jpg', 'wb') as f:f.write(html)

查看爬取到的圖片:

OK!

  • 舉個例子4(查看HTTP響應(yīng)碼和實際數(shù)據(jù)URL地址)

代碼:

import requests import random from my_user_agent_list import user_agenturl = 'http://www.baidu.com/' headers = {'User-Agent':random.choice(user_agent)}res = requests.get(url, headers = headers)print('HTTP響應(yīng)碼:', res.status_code) print('URL地址:', res.url)

控制臺輸出結(jié)果:

HTTP響應(yīng)碼: 200 URL地址: https://www.baidu.com/
未完待續(xù)。。。 明天再寫requests模塊的其他方法。

總結(jié)

以上是生活随笔為你收集整理的利用python爬虫(part4)--requests模块之requests.get方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。