爬虫——2020-09-29聚焦爬虫---数据解析

聚焦爬虫

编码流程:
1.指定url
2.发起请求
3.获取响应数据
4.数据解析
5.持久化存储

数据解析分类:

  1. 正则
  2. bs4
  3. xpath:重点,通用性比较强

数据解析概念:

解析的局部的文本内容都会在标签之间或者标签对应的属性中存储

1.进行指定标签的定位
2.标签或者标签对应的属性中存储的数据值进行提取(解析)

bs4进行数据解析:

bs4是Python自带的,所以只能在Python中使用。
环境安装:pip install bs4, pip install lxml

  1. 实例化一个BeautifulSoup对象,并将页面源码数据加载到该对象中
  2. 通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取。
  3. 实例化方法:
  • 将本地的html文档中的数据加载到该对象中:
		fp = open('./test.html', 'r', enconding='utf-8')
		soup = BeautifulSoup(fp, 'lxml')
  • 将互联网上获取的页面源码加载到该对象中:
		page_text = response.text
		soup = BeauidulSoup(page_text, 'lxml')

4.bs4相关方法操作:
提供的属性或者方法:

  • soup.tagname:返回的是文档中第一次出现的tagname对应的标签(单数)
  • soup.find():
    • 相当于soup.tagname, find(‘tagname’)
    • 属性定位:soup.find(‘div’, class_=‘song’),即找到属性为’song’的’div’所对应的信息(也是单数)
  • soup.find_all(‘tagname’): 返回复数(列表),所有的符合条件的标签。
  • soup.select():是一种选择器。可以是(id,class,标签,层级)
    • 层级举例: print(soup.select(’.tang > ul > li > a’)[0])
      print(soup.select(’.tang > ul a’)[0]) (注意这个点!!!
      ‘>’: 表示的是大一个层级
      ’ ': 空格表示大多个层级
  • 获取标签之间的文本数据:
    • soup.a.text/string/get_text()
      • text/get_text():可以获取一个标签中所有的文本内容
      • string:只可以获取该标签下直系的文本内容
  • 获取标签中属性值:
    • soup.a[‘属性名称’]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值