聚焦爬虫

编码流程:

 -指定URL

-发起请求             

 -获取响应数据

 -数据解析

-持久化存储

数据解析分类

-正则

-bs4

-xpath

Bs4解析数据

       -bs4解析原理

              -1、实例化一个BeautifulSoup对象,并且将源码数据加载到该对象中

              -2、通过调取BeautifulSoup对象中相关的属性和方法进行标签定位和数据提取

       -环境安装

              -1.pip install bs4

              -2.pip install lxml

       -如何实例化BeautifulSoup

              - from bs4 import BeautifulSoup

              -对象实例化:

                     -1.将本地的html文档的数据加载到该对象

                     -2.将网络上的html页面数据加载到该对象

       -提供的用于数据解析的方法和属性

              -soup.tagName 返回html中第一次出现的tagName对应的标签内容

              -soup.find()

                     -soup.find(div) = soup.div

                     属性定位:

                            -soup,find(‘div’,class_/id/attr=’song)

                            返回符合的第一个函数

              -soup.select:

                     Soup.select(‘某种选择器(id/class/)’)

                     使用”>”作为层级选择器

                     例:soup.select('.song> ul > li')[0]

             

              -获取标签之间的文本数据:

                     Soup.a.text/string/get_text()

                     区别:text和get_text()可以获取所有文本内容,string只可以获取直系标签下的文本内容

       -获取标签属性值

              Soup.a.[href] 获取<a>标签中href的内容

 

 

Xpath解析:最常用且高效的一种解析方式,通用性

       -xpath解析原理

              -1.实例化一个etree对象,且需要将被解析的页面源码数据加载到对象中。

              -2.调用etree对象中的方法结合着xpath表达式实现标签的丁文和内容的捕获。

       -环境安装

              -pip install lxml

       -如何实例化一个etree对象

              -1.j将本地的html中的源码加载到etree对象中:

                     Etree.Parse(filePath)

              -2.将网上获取的源码加载到该对象中

                     -etree.HTML(‘page_text’)

                     -xpath(‘xpath表达式’)

              -xpath表达式

                     - /:表示的是从根节点开始定位。表示一个层级。

                     -//:表示的是多个层级,从任意位置开始定位。

                     -属性定位:

                            //div[@class/id=’song’]

                     -索引定位

                            //div[@class/id=’song’]/p[3] 索引是从1开始。

                     -取文本:

                            -/text() 获取标签直系文本内容

                            -//text() 获取标签下所有文本

                     -取属性:

                            -/attrName   —— img/@src

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值