爬虫

网络爬虫的概念

1.网络爬虫与浏览器的区别:浏览器是展示数据的,而网络爬虫是采集数据的
2.定义:模拟客户端发送请求获取相应数据,按照一定的规则,自动从万维网上获取信息的程序
3.作用:从万维网上,获取我们需要的信息

requests介绍

requests是一个优雅而简单的python HTTP请求库
requests的作用是发送请求获取响应数据

requests使用3步骤

1.导入模块
2.发送get请求,获取响应
3.从响应中获取数据

response常见属性

response.text:响应体str类型
response.ecoding:二进制转换字符串使用的编码
response.content:响应体bytes类型

案例:需求

获取丁香园新冠状病毒肺炎疫情实时动态首页内容
首页URL为:https://ncov.dxy.cn/ncovh5/view/pneumonia地址点击

步骤

1.导入模块
2.发送get请求,获取响应
3.从响应中获取数据

BeautifulSoup对象

BeautifulSoup对象:代表要解析整个文档树,
他支持 遍历文档树 和 搜索文档树 中描述的大部分的方法。

创建BeautifulSoup对象

作用:BeautifulSoup可以从HTML或XML中提取数据

from bs4 import BeautifulSoup
soup = BeautifulSoup("<html>data</html>")
print(soup)

爬虫

BeautifulSoup对象的find方法

find方法的作用:搜索文档树
find(self, name=None, attrs={}, recursive=True, text=None, **kwargs)
参数:
name:标签名
attrs:属性字典
recursive:是否递归循环查找
text:根据文本内容查找
返回:
查找到的第一个元素对象

tag对象介绍

tag对象对应于原始文档中的XML或HTML标签
tag有很多方法和属性,可用 遍历文档树 和 搜索文档树
以及获取标签内容

tag对象常见的属性

name:获取标签名称
attrs:获取标签所有属性的键和值
text:获取标签的文本字符串

案例:从疫情首页提取各国最新的疫情数据

正则表达式

target:

知道什么是正则表达式
应用 re.findall()方法提取数据
理解 r原串在正则中的作用

目录

正则表达式的概念与作用
正则表达式的常见用语法
re.findall()方法
正则表达式中得r原串的使用
案列:提取最新的疫情数据的ison字符串

正则表达式

概念:正则表达式是一种字符串匹配模式
作用

  • 检查一个字符串是否含有某种子串
  • 替换匹配的字符串
  • 提取某个字符串中匹配的子串

爬虫
爬虫

re.findall()方法

爬虫
结果歧义
爬虫

findall()特点:(切记)

  • 如果正则表达式中没有()则返回与整个正则匹配的列表
  • 如果正则表达式中有(),则返回()中匹配的内容列表,小括号两边的东西都是负责确定提取数据所在的位置

r原串的使用

*在正则表达式中两个转义字符\表示一个转义字符,在字符串中两个转义字符\表示一个转义字符*

  • 正则中使用r原始字符串,能够转义字符串带来的影响

json模块

target

  • 应用 json模块,把json转换为python
  • 应用 json模块,把python转换为json
    json模块是python自带的模块,用于json与python数据之间的相互转换
    爬虫
    爬虫

json转换为python

爬虫

python转化为json

爬虫

重构

爬虫
爬虫
爬虫
爬虫

上一篇:利用requests、pyquery、BeautifulSoup爬取深圳市某租房网站的租房信息


下一篇:Beautiful Soup在爬虫中的基本使用语法