爬虫-页面解析和数据提取

爬虫2(页面解析和数据提取)

image-20240423170904547

处理HTML文件,常用Xpath,先将HTML文件转换成XML文档,然后用Xpath查找HTML节点或元素。

一、HTML与XML

image-20240423171338342

二、XPath

image-20240423171509182

1、XPath路径表达式

image-20240423171705619 image-20240423172341521

三、Lxml库

image-20240425151039240

html = etree.HTML(text) # 将字符串转换成HTML格式
# print(etree.tostring(html)) # 补全HTML
result = html.xpath('//li/a/text()') # 获取li标签下的a标签的文本
r = html.xpath('//li[contains(@class,"item-")]') # 获取属性为class且包含item-的li标签

案例:下载百度贴吧页面的图片

import requests
from lxml import etree
index_url = 'https://tieba.baidu.com/p/5475267611'
response = requests.get(index_url).text
selector = etree.HTML(response)
image_urls = selector.xpath('//img[@class="BDE_Image"]/@src')
offset = 0
for image_url in image_urls:
image_content = requests.get(image_url).content
with open('{}.jpg'.format(offset), 'wb') as f:
f.write(image_content)
offset = offset + 1
posted @   同淋雪  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示