基本模块的总结
'''
请求模块
urllib库 内置库
urllib.request
request.urlopen(网址或者请求对象) 向网址发起请求
request.Requqest(url=网址,headers=请求头,data=请求参数。。) 创建请求对象
urllib.parse
parse.urlencode(字典) 把字典参数转换为网址格式的参数
parse.quote(字符串) 把字符串转换为编码后的数据
urllib 响应对象的方法
response.code 输出状态码
response.url 输出网址
response.read() 输出字节流数据
response.read().decode('编码格式') 把字节流数据进行解码 网页源码搜索charset
requests库 第三方库
发起请求
requests.get(url=网址,headers=请求头,proxies={'http&https':'ip地址:端口号'},verify=False代表无视ssl证书)
requests.post(比get多一个data) 发送post请求
url是必要参数
处理响应
response.text 按照默认编码打印
response.encoding = 'UTF-8' 当.text出现乱码时可以设置编码格式
response.content 输出字节流数据
response.content.decode('编码格式')
解析模块
正则表达式 内置库
解析网页源码较复杂 一般用来匹配字符串
findall(正则表达式,要匹配的数据)
bs4 第三方库
导包 from bs4 import BeautifulSoup
先把网页源码转为bs4对象
soup = BeautifulSoup(网页源码,解析器)
需要额外下载解析器 pip install lxml
find/find_all
find_all(标签名,筛选条件 class_='XXX')
lxml 第三方库
导包 from lxml import etree
下载 pip install lxml
先把网页源码转为lxml对象
xml = etree.HTML(网页源码)
xml.xpath('xpath语句')
//从当前标签进行选取 不管标签的位置
/ 从当前标签进行选取 只能选到下一级标签
. 从上一级进行选取
'''