简单地使用bs4实现数据解析

因为正则表达式本身有难度,所以在这里为大家介绍一下 bs4 实现数据解析。除此之外还有 xpath 解析。因为 xpath 不仅可以在 python 中使用,所以 bs4 和 正则解析一样,仅仅是简单地写两个案例(爬取可翻页的图片,以及爬取三国演义)。以后的重点会在 xpath 上。

闲话少说,我们先来安装 bs4 相关的外来库。比较简单,首先打开 cmd 命令面板,依次安装bs4 和 lxml。 命令分别是 pip install bs4 和 pip install lxml 。 安装完成后我们可以试着调用他们,看看会不会报错。因为本人水平有限,所以如果出现报错,兄弟们还是百度一下好啦。(总不至于 cmd 命令打错了吧 ~~)

闲话少说,先简单介绍一下 bs4 的用法。


爬取图片

import requests
from bs4 import BeautifulSoup
import osif __name__ == "__main__":# 创建文件夹if not os.path.exists("./糗图(bs4)"):os.mkdir("./糗图(bs4)")# UA伪装header = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"}# 指定 urlfor i in range(1, 3): # 翻两页url = "https://www.qiushibaike.com/imgrank/page/%s/" % str(i)# 获取源码数据page = requests.get(url = url, headers = header).text# 数据解析soup = BeautifulSoup(page, "lxml")data_list = soup.select(".thumb > a")for data in data_list:url = data.img["src"]title = url.split("/")[-1]new_url = "https:" + urlphoto = requests.get(url = new_url, headers = header).content# 存储with open("./糗图(bs4)/" + title, "wb") as fp:fp.write(photo)print(title, "下载完成!!!")print("over!!!")

爬取三国演义

import requests
from bs4 import BeautifulSoupif __name__ == "__main__":# UA 伪装header = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36"}# URLurl = "http://sanguo.5000yan.com/"# 请求命令page_text = requests.get(url = url, headers = header)page_text.encoding = "utf-8"page_text = page_text.textsoup = BeautifulSoup(page_text, "lxml")# bs4 解析li_list = soup.select(".sidamingzhu-list-mulu > ul > li")for li in li_list:print(li)new_url = li.a["href"]title = li.a.text# 新的请求命令response = requests.get(url = new_url, headers = header)response.encoding = "utf-8"new_page_text = response.textnew_soup = BeautifulSoup(new_page_text, "lxml")page = new_soup.find("div", class_ = "grap").textwith open("./三国演义.txt", "a", encoding = "utf-8") as fp:fp.write("\n" + title + ":" + "\n" + "\n" + page)print(title + "下载完成!!!")

冰冻三尺,非一日之寒。数据解析——bs4相关推荐

  1. 2 爬虫 数据解析(bs4,XPath) robots协议 cookie反爬 代理反爬

    爬虫 1 数据解析 1.1 介绍 1.1.1 概念即作用 数据解析就是将一组数据中的局部数据进行提取,用于实现聚焦爬虫. 聚焦爬虫是建立在通用爬虫的基础上,从通用爬虫获取的整个源码数据中提取出指定的数 ...

  2. 小白学习爬虫的第三天之数据解析bs4与pyQuery的使用

    一. bs4的使用 1.html页面解析的方法 """ 1)正则表达式 - 出神入画的正则:不懂前端(re) 2)通过css选择器选中标签 - 熟悉css选择器:熟悉jQ ...

  3. 网络爬虫数据解析——BS4解析库

    文章目录 简介 基本用法 BeautifulSoup选择器 节点选择器 方法选择器 CSS选择器 项目案例:基于requests和bs4的三国演义定向爬虫 简介 Beautiful Soup就是Pyt ...

  4. 冰冻三尺,非一日之寒。数据解析——正则解析(1)

    正则解析爬取图片 因为讲的是正则解析,而不是正则表达式,所以我就默认大家会正则表达式了.最多在这里给大家看一下正则的语法. 这也是我从B站上截图截下来的.因为我自己都是学的半懂不懂的,实在没那脸说在这 ...

  5. 数据解析学习笔记(正则解析、bs4解析、xpath解析)

    聚焦爬虫:爬取页面中指定的页面内容. - 编码流程: - 指定url - 发起请求 - 获取响应数据 - 数据解析 - 持久化存储 数据解析分类: 正则 bs4 xpath(***) 数据解析原理概述 ...

  6. Python-爬虫 (BS4数据解析)

    文章目录 1. BS4数据解析常见方法 2.BS4数据解析,爬取豆瓣电影属性 1. BS4数据解析常见方法 BS4数据解析方法是把需要的数据进行截取.处理数据的时间比较长 测试用网页: <!DO ...

  7. Python爬虫 之数据解析之bs4

    数据解析之bs4 一.bs4进行数据解析 二.bs4库和lxml库的安装 三.BeautifulSoup对象 四.项目实例 一.bs4进行数据解析 1.数据解析的原理 ① 标签定位. ② 提取标签.标 ...

  8. [爬虫]4.数据解析及应用 之 bs4【爬取一部小说的文本】

    回顾,上节课我们学了什么? 聚焦爬虫 数据解析方式分类:正则表达式:bs4模块:xpath模块 F12查看网页标签的html格式 正则表达式详细表示方法 正则匹配         import re ...

  9. Day 10 10.1 数据解析方法之-BS4

    BS4 [1]简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.python式的函数 ...

  10. 爬虫之bs4、xpath数据解析(案例—scrapy获取菜鸟HTML页面数据)

    文章结构 1.爬虫概念简介 2.爬虫的流程 3.数据解析 (1)bs4解析 (I)根据标签名查找 soup.a (II)获取属性 soup.a[attr] (III)soup.a.text 获取响应文 ...

最新文章

  1. maven3.5.0在win10中的安装及环境变量配置
  2. 在项目中寻找代码的坏味道(命名)
  3. SQL未能排它地锁定数据库以执行该操作解决
  4. LeetCode 460. LFU缓存(哈希双链表)
  5. java软件工程师自我评价_电子技术研发工程师简历自我评价填写样本
  6. 行转列经典案例(left join)
  7. eclipse引入php源包
  8. matlab 数学 应用论文,MATLAB在高等数学课程中的应用(图文)
  9. 国际自主智能机器人大赛强势来袭,NAACL同声传译任务等你来战
  10. Python pdf 转jpg/png工具
  11. 合宙Air202--Luat入门学习
  12. 最新最快的HTTP代理服务器,国内外HTTP代理服务器,游戏代理服务器,Q代理服务器,代理IP...
  13. Windows系统主机加固
  14. 五一影视圈的神仙打架,揭开了内容市场暗自角力的真相
  15. R语言-来自Prosper的贷款数据探索
  16. 【有感】失去人性,失去很多;失去兽性,失去一切
  17. k8s - containerd 磁盘清理
  18. 克隆linux系统之后如何配置网络ip
  19. 一个程序员老总的年终总结2010版
  20. Android 开机画面和wallpaper总结

热门文章

  1. 干货丨应聘Java开发工程师的基本要求是什么?
  2. 专硕计算机考研英语一还是二,学硕只会考英语一?专硕只会考英语二?
  3. 瑞典皇家理工学院计算机科学世界排名,瑞典皇家理工学院世界排名
  4. 三角学常见公式定理证明
  5. 融云首席科学家任杰:写在融云 8 周年
  6. Facial Expression Recognition
  7. 飞行器中传感器测量原理及测量模型
  8. excel表格中身份证信息提取出生年月日,年龄,性别,出生地
  9. 我的个人网站:红色石头的机器学习之路
  10. 山丽防水墙客户端的卸载