defget(url, params=None,**kwargs):
r"""Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
"""
base_url ='https://tieba.baidu.com/f?kw='+tieba_name+'&ie=utf-8&pn='
headers ={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}# 获取贴吧的完整界面
reponse = requests.get(url=url,headers=headers)print(reponse)
2、xpath
2.1 html与xml
名称
作用
XML
可扩展标记语言
被设计用来传输和存储数据,焦点内容是数据
HTML
超文本标记语言
显示数据以及如何更好的显示数据
HTML_DOM
文档对象模型
可以通过HTML_DOM访问所有的HTML元素
2.2 XML实例以及部分知识点
<bookstore><book category="COOKING"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="CHILDREN"><title lang="en">Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price></book><book category="WEB"><title lang="en">Learning XML</title><author>Erik T. Ray</author><year>2003</year><price>39.95</price></book></bookstore>
类型
说明
父
每一个元素以属性都有一个父类
子
元素节点可以有0个、1个或者多个子
同胞
拥有相同的父节点
先辈
某节点的父、父的父…
后代
每一个节点的子,子的子…
2.3 路径表达式
表达式
说明
/
代表从根节点选取
//
从当前文档的任何位置找起,只要符合节点就行
@
选取的是属性
.
当前节点
…
当前节点的父节点
从根节点找起:/html/body/div[9]/div/ul/li[3]/a
类型
说明
/html
选取的是根元素html
//div
选取的是所有的div子元素,不考虑节点在文档中的位置
div//span
选择属于div元素的后代中所有的span元素,不管它位于div标签下的任何位置
//ul[@class=‘easySo’]
相关表达式的配合使用
//@class
选择名为class的属性
2.4 xpath etree的作用
str1 ='''
<div>this is a div
'''
doc = etree.HTML(str1)
str2 = etree.tostring(doc)print(str2)
展示:
b'<html><body><div>this is a div\n</div></body></html>'
注意点:
1、tostring()转换的字符串是bytes类型
2、lxml可以补齐缺失的HTML标签,还可以自动添加html和body标签
2.5 测试
ret = html_doc.xpath('//span/i/text()')print(ret)
注意点:
1、text()获取标签扩起来的内容
2、xpath返回的数据类型是一个列表
1、request的使用1.1 安装方法pip install requests1.2 基本的get请求def get(url, params=None, **kwargs): r"""Sends a GET request. :param url: URL for the new :class:`Request` object. :param params: (optional) Dictionary, list of tuples or bytes to send