python爬虫beautifulsoup

1、BeautifulSoup库,也叫beautifulsoup4或bs4

  功能:解析HTML/XML文档

2、HTML格式

  成对尖括号构成

3、库引用

#bs4为简写,BeautifulSoup为其中一个类
from bs4 import BeautifulSoup
#直接引用库
import bs4

3.1、BeautifulSoup类

  >>from bs4 import BeautifulSoup

  >>soup=BeautifulSoup("<html>data</html>","html.parser")

  >>soups=BeautifulSoup(open("D://demo.html"),"html.parser")

  可以直接操作源码,也可以操作文件

  3.1、html.parser为bs4的html解析器,安装了bs4库即可使用

     lxml为lxml的HTML解析器,安装lxml

     xml为lxml的xml解析器,安装lxml

     html5lib为html5lib的解析器,安装html5lib

  3.2、基本元素

    3.2.1、Tag:标签,最基本信息组织单元,分别用<>和</>标明开头和结尾

    3.2.2、Name:标签的名字,<p>...</p>,格式:<tag>.attrs

    3.2.3、Attributes:标签的属性,字典形式的组织,格式<tag>.attrs

    3.2.4、NavigableString:标签内非属性字符串,<>...</>中字符串,格式<tag>.string

    3.2.5、Comment:标签内字符串的注释部分,一种特殊的Comment类型

  3.3、标签遍历

    3.3.1、下行遍历

        .contents:返回列表类型

        .children:返回迭代类型,智能用在for循环语句中

        .descendants:返回迭代类型,智能用在for循环语句中

    3.3.2、上行遍历

        .parent:返回当前节点的父亲节点

        .parents:返回当前节点所有先辈节点

    3.3.3、平行遍历

        .next_sibling

        .previous_sibing

        .next_siblings:迭代类型

        .previous_siblings:迭代类型

4、html格式输出

  python3.x系列支持的是utf-8编码,bs4库支持utf-8编码,如果使用python2.x需要编码转化  

  <<soup=BeautifulSoup(demo,"html.parser")

  <<print(soup.prettify())

  demo为HTML文档

  打印计较清晰,每个标签,内容分行显示。

原文地址:https://www.cnblogs.com/oldhuang/p/10332104.html

时间: 2024-10-12 20:36:13

python爬虫beautifulsoup的相关文章

[python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对比,你可以进一步加深Python爬虫的印象.同时,文章给出了我以前关于爬虫的基础知识介绍,方便新手进行学习.        总之,希望文章对你有所帮助,如果存在不错或者错误的地方,还请海涵~ 一. DOM树结构分析 豆瓣Top250电影网址:https://movie.douban.com/top2

python爬虫---beautifulsoup(2)

之前我们使用的是python的自带的解析器html.parser.官网上面还有一些其余的解析器,我们分别学习一下. 解析器 使用方法 优点 缺点 htm.parser BeautifulSoup(markup,'html.parser') 1.python自带的 2.解析速度过得去 3.容错强 2.7之前的版本,和3.3之前不包括2.7的都不支持 lxml`s HTML parser BeautifulSoup(markup,'lxml') 1.非常快 2.容错强 要安装C语言库 lxml`s

python爬虫---beautifulsoup(1)

beautifulsoup是用于对爬下来的内容进行解析的工具,其find和find_all方法都很有用.并且按照其解析完之后,会形成树状结构,对于网页形成了类似于json格式的key - value这种样子,更容易并且更方便对于网页的内容进行操作. 下载库就不用多说,使用python的pip,直接在cmd里面执行pip install beautifulsoup即可 首先仿照其文档说明,讲代码拷贝过来,如下 from bs4 import BeautifulSoup html_doc = "&q

Python 爬虫-BeautifulSoup

2017-07-26 10:10:11 Beautiful Soup可以解析html 和 xml 格式的文件. Beautiful Soup库是解析.遍历.维护"标签树"的功能库.使用BeautifulSoup库非常简单,只需要两行代码,就可以完成BeautifulSoup类的创建,这里命名为soup,接下来就可以对soup进行相关处理了.一个BeautifulSoup类对应html或者xml的全部内容. BeautifulSoup库将任意html文件转换成utf-8格式 一.解析器

python爬虫:使用urllib.request和BeautifulSoup抓取新浪新闻标题、链接和主要内容

案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSoup import requests url = 'http://news.sina.com.cn/china/' web_data = requests.get(url) web_data.encoding = 'utf-8' soup = BeautifulSoup(web_data.text,'

Python爬虫:用BeautifulSoup进行NBA数据爬取

爬虫主要就是要过滤掉网页中无用的信息,抓取网页中有用的信息 一般的爬虫架构为: 在python爬虫之前先要对网页的结构知识有一定的了解,如网页的标签,网页的语言等知识,推荐去W3School: W3school链接进行了解 在进行爬虫之前还要有一些工具: 1.首先Python 的开发环境:这里我选择了python2.7,开发的IDE为了安装调试方便选择了用VS2013上的python插件,在VS上进行开发(python程序的调试与c的调试差不多较为熟悉): 2.网页源代码的查看工具:虽然每一个浏

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

python爬虫实例(urllib&BeautifulSoup)

python 2.7.6 urllib:发送报文并得到response BeautifulSoup:解析报文的body(html) #encoding=UTF-8 from bs4 import BeautifulSoup from urllib import urlopen import urllib list_no_results=[]#没查到的银行卡的list list_yes_results=[]#已查到的银行卡的list #解析报文,以字典存储 def parseData(htmls,

Python 爬虫—— requests BeautifulSoup

本文记录下用来爬虫主要使用的两个库.第一个是requests,用这个库能很方便的下载网页,不用标准库里面各种urllib:第二个BeautifulSoup用来解析网页,不然自己用正则的话很烦. requests使用,1直接使用库内提供的get.post等函数,在比简单的情况下使用,2利用session,session能保存cookiees信息,方便的自定义request header,可以进行登陆操作. BeautifulSoup使用,先将requests得到的html生成BeautifulSo