爬蟲之requests模組

2022-02-25 17:06:41 字數 2786 閱讀 9251

requests 唯一的乙個非轉基因的 python http 庫,人類可以安全享用。

警告:非專業使用其他 http 庫會導致危險的***,包括:安全缺陷症、冗餘**症、重新發明輪子症、啃文件症、抑鬱、頭疼、甚至死亡。

今日概要

知識點回顧

為什麼要使用requests模組

使用requests模組:

如何使用requests模組

使用流程

通過5個基於requests模組的爬蟲專案對該模組進行學習和鞏固

基於requests模組的post請求

基於requests模組ajax的get請求

基於requests模組ajax的post請求

綜合練習

需求:登入豆瓣電影,爬取登入成功後的頁面資料

import requests

import os

url = ''

#封裝請求引數

data =

#自定義請求頭資訊

headers=

response = requests.post(url=url,data=data)

page_text = response.text

with open('./douban111.html','w',encoding='utf-8') as fp:

fp.write(page_text)

需求:爬取豆瓣電影分類排行榜 中的電影詳情資料

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import requests

import urllib.request

if __name__ == "__main__":

#指定ajax-get請求的url(通過抓包進行獲取)

url = 'j/chart/top_list?'

#定製請求頭資訊,相關的頭資訊必須封裝在字典結構中

headers =

#定製get請求攜帶的引數(從抓包工具中獲取)

param =

#發起get請求,獲取響應物件

response = requests.get(url=url,headers=headers,params=param)

#獲取響應內容:響應內容為json串

print(response.text)

需求:爬取肯德基餐廳查詢中指定地點的餐廳資料

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import requests

import urllib.request

if __name__ == "__main__":

#指定ajax-post請求的url(通過抓包進行獲取)

url = ''

#定製請求頭資訊,相關的頭資訊必須封裝在字典結構中

headers =

#定製post請求攜帶的引數(從抓包工具中獲取)

data =

#發起post請求,獲取響應物件

response = requests.get(url=url,headers=headers,data=data)

#獲取響應內容:響應內容為json串

print(response.text)

import requests

from fake_useragent import useragent

ua = useragent(use_cache_server=false,verify_ssl=false).random

headers =

url = ''

pagenum = 3

for page in range(3,5):

data =

json_text = requests.post(url=url,data=data,headers=headers).json()

all_id_list =

for dict in json_text['list']:

id = dict['id']#用於二級頁面資料獲取

#下列詳情資訊可以在二級頁面中獲取

# name = dict['eps_name']

# product = dict['product_sn']

# man_name = dict['qf_manager_name']

# d1 = dict['xc_date']

# d2 = dict['xk_date']

#該url是乙個ajax的post請求

post_url = ''

for id in all_id_list:

post_data =

response = requests.post(url=post_url,data=post_data,headers=headers)

#該請求響應回來的資料有兩個,乙個是基於text,乙個是基於json的,所以可以根據content-type,來獲取指定的響應資料

#print(response.json())

#進行json解析

json_text = response.json()

print(json_text['businessperson'])

爬蟲之requests模組

pip install requests import requests ret requests.get url 原函式 get url,params none,kwargs ret.encoding utf 8 指定解析資料是使用的編碼格式 print ret.content 響應的資料,byt...

爬蟲之requests模組2

今日內容 知識點回顧 引入 coding utf 8 import requests if name main 張三人人網個人資訊頁面的url url 偽裝ua headers 傳送請求,獲取響應物件 response requests.get url url,headers headers 將響應...

python爬蟲之requests模組

python中原生的一款基於網路請求的模組,功能非常強大,簡單便捷,效率極高,作用是模擬瀏覽器發請求。指定url 傳送請求 獲取相應資料 持久化儲存 pip install requestsimport requests 一 指定url url 二 傳送請求 三 用get請求返回乙個響應物件 res...