zoukankan      html  css  js  c++  java
  • Python爬虫beautifulsoup4常用的解析方法总结

    摘要

    如何用beautifulsoup4解析各种情况的网页

    beautifulsoup4的使用

    关于beautifulsoup4,官网已经讲的很详细了,我这里就把一些常用的解析方法做个总结,方便查阅。

    装载html文档

    使用beautifulsoup的第一步是把html文档装载到beautifulsoup中,使其形成一个beautifulsoup对象。


     

    初始化BeautifulSoup类时,需要加入两个参数,第一个参数即是我们爬到html源码,第二个参数是html解析器,常用的有三个解析器,分别是”html.parser”,”lxml”,”html5lib”,官网推荐用lxml,因为效率高,当然需要pip install lxml一下。

    当然这三种解析方式在某些情况解析得到的对象内容是不同的,比如对于标签不完整这一情况(p标签只有一半):


     

    使用

    在使用中,我尽量按照我使用的频率介绍,毕竟为了查阅~

    按照标签名称、id、class等信息获取某个标签


     

    按照标签名称、id、class等信息获取多个标签


     

    按照标签的其他属性获取某个标签


     

    找前头和后头的标签


     

    找父标签

    soup.find_parents("div")

    soup.find_parent("div")

    css选择器


     

    注意几个可能出现的错误,可以用try捕获来防止爬虫进程

    UnicodeEncodeError: ‘charmap' codec can't encode character u'xfoo' in position bar (或其它类型的 UnicodeEncodeError

    需要转码

    AttributeError: ‘NoneType' object has no attribute ‘foo'

    没这个属性

    就介绍这么多,应该可以覆盖大部分网页结构了吧~!

  • 相关阅读:
    跨平台开发得力助手
    一分钟将你的WPF应用程序变身成炫彩动态Metro风格
    因.Net Target Framework导致的编译错误
    WCF笔记
    WCF元数据发布的2种方式:httpGetEnabled与mex
    使用ClickOnce发布应用程序
    TFS笔记
    升级镁光M4固态硬盘的固件
    Android调用RESTful WCF服务
    用原生的android SDK与PhoneGap分别做了个示例,发现PhoneGap的要慢得多
  • 原文地址:https://www.cnblogs.com/Pythonmiss/p/10784120.html
Copyright © 2011-2022 走看看