requests是python的第三方库,需要使用 pip install requests进行安装,是一个简单易用的http库;
lxml也是python的第三方库,需要使用 pip install lxml进行安装,lxml使用的是 Xpath 语法(需要了解一些xapth语法),是效率比较高的解析方法,可解析html和xml文件。
以新浪新闻为示例:
response = requests.get('https://mil.news.sina.com.cn/')
txt = response.text
先只用requests进行请求,获得文本信息
html = etree.HTML(txt)
使用etree的HTML方法进行操作;也可使用 etree.parse()方法读取一个html、xml文件
使用xpath解析该文本,此处是定位到中国军情栏中,获取第一个ul里面的数据
result = html.xpath('//div[@class="zgjq"]/div[@class="left"]//ul[1]//a')
此时result还是一个对象数组,还需进一步解析,使用for循环进行遍历,解析
result值为:[<Element a at 0x2cb1248>, <Element a at 0x2df2b88>, <Element a at 0x2df2bc8>, <Element a at 0x2df2c08>, <Element a at 0x2df2c48>, <Element a at 0x2df2c88>, <Element a at 0x2df2cc8>, <Element a at 0x2df2d08>, <Element a at 0x2df2d48>]
因已经定位到了ul下li的a标签处,这里就可以直接获取a的

本文介绍了如何使用Python的requests库获取网页内容,并结合lxml库利用XPath语法高效解析HTML。通过实例展示了从新浪新闻网站抓取中国军情栏目数据的过程,包括如何获取文本信息、解析DOM节点、提取链接和文本内容。同时,文章还提及了如何通过线程和future处理多页面爬取,以实现并发请求。
最低0.47元/天 解锁文章
555

被折叠的 条评论
为什么被折叠?



