美文网首页
Xpath和BS4操作

Xpath和BS4操作

作者: 不一样的丶我们 | 来源:发表于2018-01-15 09:33 被阅读1188次

Xpath

  • Xpath是一种针对结构化数据进行数据匹配的描述语言
  • Xpath分析的目标数据:结构化数据~标记语言定义的数据[XML/HTML]
    • 基本语法:针对加载的网页文档/xml文档,转换成文档书结构,在文档中根据基本语法在局部进行数据匹配的操作

基于index.html的查询操作

代码 作用
html 查询所有html的子节点
/html 查询根节点下的html节点

/->根节点~文档对象模型~document

代码 作用
//div 模糊匹配路径,查询所有路径下出现的div节点
//div/* *模糊匹配节点,查询所有路径下div的子节点
//div[@class] 查询包含class属性的所有div节点
//div[@class="content"] 查询包含class属性并且值为content的div节点
  • //div-->对象中包含的文本数据
    • xpath对象.xpath("string(.)")~查询到节点中所有的文本[包含子节点的文本]
    • xpath对象.text~查询节点中的文本[不包含子节点中的文本]
  • 实际操作
  • 通过工具进行辅助,操作xpath进行数据的匹配
  • 浏览器中的Xpath插件
    • 谷歌浏览器~Xpath Helper-->可以很方便在网页中查询对应的数据
      • 新版本Xpath插件中-->打开网页,打开Xpath插件,在网页中鼠标悬停在需要选中的文本上,按下shift按键,就会自动出现xpath描述的信息,然后根据自己的需要进行修改即可~!
  • python中怎么操作xpath
    • python中默认没有xpath操作模块,但是有一个第三方模块lxml可以对结构化数据Xpath操作进行非常友好的支持

Beautifulsoup4

  • bs4是一种对性能的要求,时间的限制相对较弱的一种爬取方式.

  • bs4爬取数据

# 四种种安装方式
pip install beautifulsoup4
easy_install beautifulsoup4
# 下载tar.gz包 pip setup.py install
# 拷贝别人的bs4文件夹,知己复制到site-pakages/目录下即可

# 从程序中引入bs4
from bs4 import BeautifulSoup

# 从网页文件中直接加载
soup = BeautifulSoup(open("index.html"), "lxml")

print(soup)

三种爬取方式的对比

re xpath bs4
安装 内置 第三方 第三方
语法 正则 路径匹配 面向对象
使用 困难 较困难 简单
性能 最高 适中 最低
  • ps: 以为爬虫程序,一般情况下对于数据处理性能问题,设计较少,所以对于爬虫采集数据,筛选数据并没有性能要求!(时间要求比较充裕)

相关文章

网友评论

      本文标题:Xpath和BS4操作

      本文链接:https://www.haomeiwen.com/subject/tiyanxtx.html