Pyhon+lxml+xpath快速实现网页爬虫(比BeautifulSoup好用)

本文介绍了Python使用lxml库结合XPath进行网页爬虫的高效方法,对比了BeautifulSoup的不足,并提供了XPath语法示例及获取网页元素XPath的方法。在遇到中文乱码问题时,还提及了解决方案。
摘要由CSDN通过智能技术生成

你也可以通过我的独立博客 —— www.huliujia.com 获取本篇文章

背景

最近因为工作需要写爬虫,以前用过BeautifulSoup,所以很自然的无脑上BeautifulSoup了,不过使用过程中发现BeautifulSoup有一个致命的缺陷,就是不能支持XPath。XPath可以快速在结构化的文档(如XML,HTML)中查找、访问元素的语言,语法比正则表达式还要简单,非常容易使用。

在浏览器中其中可以方便地获取任何目标元素的XPath,简单来说XPath和文件路径很像,通过文件路径可以快速定位文件,通过XPath可以快速定位网页中的元素。这里网页和元素的关系类似文件系统和文件的关系。当然XPath提供了更多的能力。下面就是本文的重点——lxml了。lxml提供了很多功能强大的子库,本文主要用到xlml.etree(支持XPath!支持XPath!支持XPath!,重要的事说三遍)。

先看一个简单的小例子

#!env python3
from urllib.request import urlopen
from lxml import etree

sHtml = """
    <!DOCTYPE html>
    <html>
        <head>
            <title>Hello World</title>
        </head>
        
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值