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函数就可以定位到对应元素(组)

相关推荐
YYXZZ。。11 分钟前
PyTorch——搭建小实战和Sequential的使用(7)
人工智能·pytorch·python
四川兔兔14 分钟前
pytorch 与 张量的处理
人工智能·pytorch·python
AI蜗牛之家4 小时前
Qwen系列之Qwen3解读:最强开源模型的细节拆解
人工智能·python
C++ 老炮儿的技术栈4 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
wgslucky4 小时前
Dubbo报错:module java.base does not “opens java.lang“ to unnamed module
java·开发语言·dubbo
whyeekkk4 小时前
python打卡第48天
开发语言·python
DougLiang5 小时前
关于easyexcel动态下拉选问题处理
java·开发语言
全职计算机毕业设计6 小时前
基于Java Web的校园失物招领平台设计与实现
java·开发语言·前端
5:006 小时前
云备份项目
linux·开发语言·c++
Eiceblue6 小时前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf