python做简单爬虫的一些常用组件

文章目录

前言

最近一直在做零散的一次性的爬虫工作,基本都是用python开发的,整理一下python做小规模爬虫开发常用的一些工具类

request

python最简单的发http请求的包,request.get和request.post就可以搞定绝大部分的抓取需求了,postman也提供直接把请求转成request代码的功能

python 复制代码
import requests

url = "https://www.who.int/publications/i/item/9789240087002"

payload = {}
headers = {
  'Cookie': '_cfuvid=ckXDZTR8JfnelALNiB3ROmqSzyj13jtX.4WlS8zKHSw-1722239912266-0.0.1.1-604800000'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

json

类似java里的fastjson包,可以把map对象和json字符串相互转换,转换方法为json.loads(把json字符串转成map对象)和json.dumps(把map对象转成json字符串)

python 复制代码
import json
dict_test={"key":"这是一个测试map"}
text_test=json.dumps(dict_test,ensure_ascii=False)
print(text_test)
dict_test2=json.loads(text_test)
print(dict_test2)

注意json.dumps如果要转换中文的话加一个ensure_ascii=False,要不然结果就会是这样

bs4

bs4是一个做html和xml树解析的包,使用如下

python 复制代码
from bs4 import BeautifulSoup
html=BeautifulSoup(response.text)
html.find_all("div",class_="")

直接构建一个BeatifulSoup对象之后用find函数就可以定位到对应元素(组)

相关推荐
田里的水稻7 小时前
PyTorch_Dataloader\TensorBoard---数据加载与可视化
人工智能·pytorch·python·神经网络·机器学习
Dmz丶7 小时前
前端转 AI 100 天 Day 27:Docker 容器化——从“我电脑能跑“到“到处能跑“
python
卿卿的产品经理日记7 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
全栈练习生7 小时前
文档智能与实践
python·ai
爱喝热水的呀哈喽7 小时前
HEJIAN RESEARCH
开发语言·matlab
白露与泡影7 小时前
后端 Java 面试核心八股汇总|高频面试题 + 解析,覆盖基础到进阶
java·开发语言·面试
xifangge20257 小时前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript
隐擎fox7 小时前
深入 Android 移动端风控与协议层对抗:内核级虚拟环境检测、网络堆栈特征伪装与住宅 IP 协同实战
android·网络·python·网络协议·tcp/ip
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+SDXL批量生成「潮汕英歌舞冰淇淋蛋糕&红桃粿咖啡」IP,固定角色形象批量出甜品商业效果图
开发语言·人工智能·python·prompt·aigc
\光辉岁月/8 小时前
3.包装类
java·开发语言·包装类