爬蟲(requsets)筆記

一、request_基本使用

pip install requests -i https://pypi.douban.com/simple?

一個類型六個屬性

r.text?
獲取網站源碼
r.encoding?訪問或定制編碼方式
r.url?獲取請求的url
r.content?響應的字節類型
r.status_code?響應的狀態碼
r.headers?響應的頭信息
import requestsurl='http://www.baidu.com'resopnse=requests.get(url=url)# 第一類型和六個屬性
# Response類型
print(type(resopnse))# 設置響應的編碼格式
resopnse.encoding='utf-8'
# 以字符串的形式
print(resopnse.text)# 返回一個url地址
print(resopnse.url)# 返回的是二進制數據
print(resopnse.content)# 返回響應的狀態碼
print(resopnse.status_code)# 返回的是響應頭
print(resopnse.headers)

二、requests_get請求

定制參數

1、參數使用params 傳遞
2、參數無需urlencode編碼
3、不需要請求對象的定制
4、請求資源路徑中?可加可不加

# urllib
# 1 一個類型六個方法
# 2 get 請求
# 3 post 請求
# 4 ajax get 請求
# 5 ajax post 請求
# 6 cookie登錄
# 7 代理# requsets
# 1 一個類型六個屬性
# 2 get 請求
# 3 post 請求
# 4 代理
# 5 cookie 驗證碼import requestsurl='http://www.baidu.com/s?'headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
}data={'wd':'北京'
}# url   請求資源路徑
# params 參數
# kwargs 字典
response=requests.get(url=url,params=data,headers=headers)content=response.textprint(content)# 參數使用params傳遞
# 參數無需urlencode編碼
# 不需要請求對象定制
# 請求資源路徑中的?可加可不加

三、request_post請求

getpost區別?

1: get 請求的參數名字是 params post 請求的參數的名字是 data
2: 請求資源路徑后面可以不加?
3: 不需要手動編解碼
4: 不需要做請求對象的定制


import requestsurl='https://fanyi.baidu.com/sug'headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
}data={'kw':'eye'
}#url 請求地址
#data 請求參數
#kwarg 字典
response=requests.post(url=url,data=data,headers=headers)content=response.textobj=response.json()
print(obj)#總結
# 1 post請求 是不需要編解碼
# 2 post請求的參數是data
# 3 不需要請求對象的定制

四、使用requsests和xpath獲取數據

示例 :獲取 百度一下

代碼如下:


# 使用requests和Xpath獲取數據
from lxml import etree
import requestsurl = 'https://www.baidu.com/'
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) Chrome/65.0.3325.181'}response = requests.get(url,headers = headers)# 設置響應的編碼格式
response.encoding='utf-8'# 獲取網頁源碼
content= response.content.decode('utf-8')
# print(content)# xpath解析
html=etree.HTML(content,parser=etree.HTMLParser(encoding='utf-8'))
request=html.xpath('//*[@id="su"]/@value')[0]
print(request)

運行結果:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898918.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898918.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898918.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

centos7連不上接網絡

選擇編輯, 選擇虛擬機網絡編輯 右鍵虛擬機,點擊設置,設置網絡,選擇nat模式, 配置:/etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/sysconfig/network-scripts/ifcfg-ens33設置IP地址如圖所示,重…

OpenResty(Lua)+Redis實現動態封禁IP

文章目錄 架構設計環境準備源碼編輯安裝OpenResty下載安裝準備依賴編譯安裝配置環境變量(可選)OpenResty 服務管理命令 安裝Redis配置Lua腳本測試準備測試工具測試封禁邏輯 刪除版本信息清除編譯安裝的OpenResty 架構設計 通過 Nginx Redis 的方案&…

Turtle基本操作(前進、后退、旋轉)

1. Turtle基本移動概念 在Turtle繪圖中,“海龜”(Turtle)相當于一支筆,它在屏幕上移動時,會在經過的路徑上留下軌跡。我們可以通過一系列簡單的指令控制它的前進、后退和旋轉,從而繪制各種形狀和圖案。 2. 前進與后退 2.1 前進(forward() 或 fd()) Turtle的 forward…

C++類與對象的第一個簡單的實戰練習-3.24筆記

在嗶哩嗶哩學習的這個老師的C面向對象高級語言程序設計教程&#xff08;118集全&#xff09;講的真的很不錯 實戰一&#xff1a; 情況一&#xff1a;將所有代碼寫到一個文件main.cpp中 #include<iostream> //不知道包含strcpy的頭文件名稱是什么,問ai可知 #include<…

Jetson Orin NX使用 Ollama 本地部署 deepseek

本文記錄在 jetson orin nx 上使用 ollama 部署 deepseek 的過程 有用的網站及工具 NVIDIA Jetson AI LabOllama官網Jtop 工具 > 用以查看jetson GPU/CPU/Memory 等占用情況的工具&#xff0c;安裝過程如下&#xff1a; sudo apt-get install python3-pip sudo -H pip3 in…

目標檢測20年(三)

對這篇論文感興趣的小伙伴可以訂閱筆者《目標檢測》專欄&#xff0c;關注筆者對該文獻的閱讀和理解。 前兩篇解讀鏈接&#xff1a; 目標檢測20年&#xff08;一&#xff09;-CSDN博客 目標檢測20年&#xff08;二&#xff09;-CSDN博客 目錄 四、 檢測器的加速發展 4.1 特…

智能手持終端PDA在設備巡檢管理中的應用

在工業制造、能源電力、軌道交通等領域&#xff0c;設備巡檢是保障生產安全與連續性的核心環節。傳統巡檢模式存在效率低、易出錯、數據滯后等痛點。上海岳冉智能設備巡檢手持終端PDA&#xff0c;以智能化、數字化、高可靠為核心設計理念&#xff0c;集RFID、條碼掃描、AI圖像識…

AI知識補全(二):提示工程(Prompting)是什么?

名人說&#xff1a;人生如逆旅&#xff0c;我亦是行人。 ——蘇軾《臨江仙送錢穆父》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知識補全&#xff08;一&#xff09;&#xff1a;tokens是什么…

C++友元:跨墻訪問的三種姿勢

目錄 友元 友元之普通函數形式 友元之成員函數形式 友元類 友元的特點 友元 什么叫友元&#xff1f; 一般來說&#xff0c;類的私有成員只能在類的內部訪問&#xff0c;類之外是不能訪問它們的。但如果將其他類/函數設置為類的友元&#xff0c;那么友元類/函數就可以在前…

位運算[找出唯一成對的數]

題目來源&#xff1a;藍橋云課 不用輔助儲存空間 import java.util.Random;public class T_01 {public class Util {public static void swap(int[] arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;}public static void print(int[] arr) {for (int i 0; …

簡記_FPGA 硬件最小系統設計

一、FPGA板級設計的五要素 1.1、電源電路 核心電壓&#xff1a;一般為固定值 IO電壓&#xff1a;FPGA的IO分為多個bank&#xff0c;同一個bank的不同IO引腳電壓相同&#xff0c;不同bank的電壓可以不同 輔助電壓&#xff1a;除了核心電壓和IO電壓&#xff0c;FPGA工作所需的…

7.2 控件和組件

版權聲明&#xff1a;本文為博主原創文章&#xff0c;轉載請在顯著位置標明本文出處以及作者網名&#xff0c;未經作者允許不得用于商業目的 C#工具箱位于編輯窗口的左側&#xff0c;它默認內置了大量的控件和組件。控件一般派生于System.Windows.Forms.Control類&#xff0c;顯…

Spring Boot中接口數據字段為?Long?類型時,前端number精度丟失問題解決方案

Spring Boot中接口數據字段為 Long 類型時&#xff0c;前端number精度丟失問題解決方案 在Spring Boot中&#xff0c;當接口數據字段為 Long 類型時&#xff0c;返回頁面的JSON中該字段通常會被序列化為數字類型。 例如&#xff0c;一個Java對象中有一個 Long 類型的屬性 id …

OpenCV第2課 OpenCV的組成結構與圖片/視頻的加載及展示

1.OpenCV 的組成結構 2.OpenCV 的具體模塊 3. 圖像的讀取 4. 視頻的讀取 1.OpenCV 的組成結構 OpenCV 是由很多模塊組成的,這些模塊可以分成很多層: 最底層是基于硬件加速層(HAL)的各種硬件優化。再上一層是opencv_contrib 模塊所包含的OpenCV 由其他開發人員所貢獻的代…

安裝配置Tesseract-OCR

1,下載對應的可執行文件 在Tesseract OCR下載地址Index of /tesseract下載合適的版本安裝包,如下: 點擊安裝包進行安裝: 語言選擇英文: 如果需要識別中文,則可以在安裝過程中勾選下載中文語言包和腳本(也可以按需選擇繁體):

關于墻面涂鴉的視覺檢測與噴涂修復裝置研究(大綱)

公共場所墻面涂鴉視覺檢測與精準噴涂修復裝置研究 融合視覺識別與自動化噴涂的墻面維護解決方案 第一章 緒論 1.1 研究背景與意義 城市形象與秩序維護&#xff1a; 涂鴉對公共環境的影響&#xff08;破壞美觀、傳遞不良信息&#xff09;清除涂鴉的重要性&#xff08;恢復原貌…

圖論 | 98. 所有可達路徑

98. 所有可達路徑 題目鏈接&#xff1a; 98. 所有可達路徑 思路 先創建鄰接矩陣&#xff0c;再深搜寫代碼是需要注意的是acm格式&#xff0c;輸入的格式要轉化為int&#xff0c;輸出要轉化為str&#xff0c;用map&#xff08;&#xff09;實現。 dfs def dfs(grid,node,n,…

MCP+Hologres+LLM 搭建數據分析 Agent

LLM大模型在數據分析領域的挑戰 在數據分析領域&#xff0c;大模型&#xff08;LLM&#xff09;具備強大語言理解能力&#xff0c;NL2SQL等各類智能化工具也極大提升了數據分析人員的分析效率&#xff0c;但仍舊面臨不少挑戰&#xff1a; 傳統 LLM 缺乏實時數據接入能力&…

Categorical分布(分類分布):深度學習中的離散建模利器

Categorical分布&#xff1a;深度學習中的離散建模利器 引言 對于深度學習研究者來說&#xff0c;概率分布是模型設計和優化的基石。在許多生成模型中&#xff0c;如變分自編碼器&#xff08;VAE&#xff09;及其變種VQ-VAE&#xff08;Vector Quantized Variational Autoenc…

Langchain 提示詞(Prompt)

基本用法 1. 基本概念 提示詞模板 是一個字符串模板&#xff0c;其中包含一些占位符&#xff08;通常是 {variable} 形式的&#xff09;&#xff0c;這些占位符可以在運行時被實際值替換。LangChain 提供了多種類型的提示詞模板&#xff0c;以適應不同的使用場景。 2. 主要類…