爬虫之 xpath

1.xpath学习,使用lxml+xpath提取内容。

什么是 XPath?

  • XPath 使用路径表达式在
  • XML 文档中进行导航
  • XPath 包含一个标准函数库
  • XPath 是 XSLT 中的主要元素
  • XPath是一个 W3C 标准

(1)XPath 节点

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。

2.使用xpath提取丁香园论坛的回复内容。

爬取思路:

  • 获取url的html

  • lxml解析html

  • 利用Xpath表达式获取user和content

  • 保存爬取的内容

# 导入库
from lxml import etree
import requests

proxies = {'http': "socks5://127.0.0.1:7891/",
          'https': "socks5://127.0.0.1:7891/",}
url = "http://www.dxy.cn/bbs/thread/626626#626626"
response = requests.get(url, proxies=proxies)
response.encoding='utf-8'
html = response.text
tree = etree.HTML(html) #lxml解析html

# 提取信息
users = tree.xpath('//div[@class="auth"]/a/text()')
contents = tree.xpath('//td[@class="postbody"]')
for user, content in zip(users, contents):
    content = content.xpath('string(.)')
    content = re.sub('\s', '', content)
    print(user,":", content)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值