文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

co1bhf

http://keair.bhha.com.cn/comco1bhf/

相关列表
文章列表
  • 暂无文章
推荐文章
联系方式
  • 联系人:汪女士
  • 电话:18953335459
BeautifulSoup及爬取豆瓣评论
发布时间:2024-12-31        浏览次数:6        返回列表
BS4的理解

BS4会将html文档对象转换为python可以识别的四种对象:
Tag: 标签对象
NavigableString : 字符内容操作对象
BeautifulSoup: 文档对象
Comment:是一个特殊类型的 NavigableString 对象
floating.html:

BeautifulSoup及爬取豆瓣评论

 
获取标签内容
 
 
获取标签的属性
  1. 通过下标获取:通过标签的下标的方式。
     
  2. 通过attrs属性获取:示例代码
     
 
 
获取标签的文本内容

string和strings、stripped_strings属性以及get_text方法

  1. string:获取某个标签下的非标签字符串。返回来的是个字符串。如果这个标签下有多行字符,那么就不能获取到了。
  2. strings:获取某个标签下的子孙非标签字符串。返回来的是个生成器。
  3. stripped_strings:获取某个标签下的子孙非标签字符串,会去掉空白字符。返回来的是个生成器。
  4. get_text:获取某个标签下的子孙非标签字符串。不是以列表的形式返回,是以普通字符串返回。
 
 
面对对象的匹配

find_all的使用

  1. 在提取标签的时候,第一个参数是标签的名字。然后如果在提取标签的时候想要使用标签属性进行过滤,那么可以在这个方法中通过关键字参数的形式,将属性的名字以及对应的值传进去。或者是使用属性,将所有的属性以及对应的值放在一个字典中传给属性。
  2. 有些时候,在提取标签的时候,不想提取那么多,那么可以使用参数。限制提取多少个。

find与find_all的区别

  1. find:找到第一个满足条件的标签就返回。说白了,就是只会返回一个元素。
  2. find_all:将所有满足条件的标签都返回。说白了,会返回很多标签(以列表的形式)。

使用find和find_all的过滤条件

  1. 关键字参数:将属性的名字作为关键字参数的名字,以及属性的值作为关键字参数的值进行过滤。
  2. attrs参数:将属性条件放到一个字典中,传给attrs参数。
 
 
CSS匹配
  1. 根据标签的名字选择,示例代码如下
     
  2. 根据类名选择,那么要在类的前面加一个点。示例代码如下
     
  3. 根据id名字选择,那么要在id的前面加一个#号。示例代码如下
     
  4. 查找子孙元素。那么要在子孙元素中间有一个空格。示例代码如下
     
  5. 查找直接子元素。那么要在父子元素中间有一个>。示例代码如下
     
  6. 根据属性的名字进行查找。那么应该先写标签名字,然后再在中括号中写属性的值。示例代码如下
     
  7. 在根据类名或者id进行查找的时候,如果还要根据标签名进行过滤。那么可以在类的前面或者id的前面加上标签名字。示例代码如下
     

在中,要使用css选择器,那么应该使用方法。应该传递一个css选择器的字符串给select方法。

 
 
 
爬取豆瓣电影评论并分析(词云
获取豆瓣最新电影的id和电影名称
 
 
获取指定电影的影评信息
 
 
数据清洗

完整的分析过程:
数据的获取: 通过爬虫获取(urllib|requests<获取页面内容> + re|bs4<分析页面内容>)
数据清洗: 按照一定的格式岁文本尽心处理;

 
 
电影评论词云分析
 
 
完整代码

豆瓣评论分析:
# 1). 获取豆瓣最新上映的所有电影的前10页评论信息
# 2). 清洗数据
# 3). 分析每个电影评论信息分析绘制成词云, 保存为png图片,文件名为: 电影名.png;

 
 
爬取慕客网

需求:爬取慕客网所有关于python的课程名及描述信息, 并通过词云进行分析展示;
网址: https://www.imooc.com/search/course?words=python

 
 
爬取今日百度热点前10的新闻