文章目录
前言
最近一直在做零散的一次性的爬虫工作,基本都是用python开发的,整理一下python做小规模爬虫开发常用的一些工具类
request
python最简单的发http请求的包,request.get和request.post就可以搞定绝大部分的抓取需求了,postman也提供直接把请求转成request代码的功能
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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
json
类似java里的fastjson包,可以把map对象和json字符串相互转换,转换方法为json.loads(把json字符串转成map对象)和json.dumps(把map对象转成json字符串)
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)
- 1
- 2
- 3
- 4
- 5
- 6
注意json.dumps如果要转换中文的话加一个ensure_ascii=False,要不然结果就会是这样
bs4
bs4是一个做html和xml树解析的包,使用如下
from bs4 import BeautifulSoup
html=BeautifulSoup(response.text)
html.find_all("div",class_="")
- 1
- 2
- 3
直接构建一个BeatifulSoup对象之后用find函数就可以定位到对应元素(组)