首页 > Python资料 博客日记
爬虫简易说明
2024-08-06 22:30:03Python资料围观50次
想必大家都了解爬虫,也就是爬取网页你所需要的信息
相比于网页繁多的爬虫教程,本篇主要将爬虫分为四个部分,以便你清楚,代码的功能以及使用,这四部分分别为
-
1.获取到源代码
-
2.根据网页中的标签特征,获取源代码你所需要的部分
-
3.想一下如何根据页面的逻辑将一系列的网页自动化抓取
-
4.保存数据在xlsx等格式下
接下来说一下每一步的操作
1.获取源代码
现在有很多库来获取,不过现在普遍使用的是requests,我也是用它
导入方式为
import requests
这一部分很简单就一行代码
response = requests.get(url, params = params , headers = headers)
url就是页面的url,网址
params就是查询参数,可选
headers就是页面的请求头,也是可选,不过现在可以必过简易的反爬,主要要有user_agent和cookies
2.根据网页特征获取
这里我用到了BeautifulSoup
导入方式为
from bs4 import BeautifulSoup
具体使用就是
soup = BeautifulSoup(directory, 'html.parser')
其中'html.parser',它是 Python 内置的解析器,用于解析普通的 HTML 文档。
作用为:首先将html 变量中的 HTML 内容解析为一个 BeautifulSoup 对象 soup,使得后续可以利用 BeautifulSoup 提供的方法来方便地遍历和操作 HTML 文档的各个部分。
至于筛选标签,我主要我是使用了BeautifulSoup中的find和find_all两个函数,是用于查找符合指定标签名和属性条件的元素,这两个函数是有一定的区别的。
find用于查找文档中符合指定条件的第一个元素
find_all用于查找文档中符合条件的所有元素,并返回一个列表
举个例子
first_span = soup.find('span', class_='fl')
这里用find方法查找了第一个 标签,且其 class 属性为 'fl'。
span_list = soup.find_all('span', class_='fl')
这里用find_all 方法查找了所有 标签,且其 class 属性为 'fl' 的元素,将它们存储在 span_list 列表中。
3.自动化抓取
这一部分,得具体网页具体分析了
如一些页面的选择上,如?p=s这一些逻辑,将其写入脚本中,以实现自动化
https://www.xxx.html?p=s
4.保存数据
这部分用到了openpyxl库
导入方式:
from openpyxl import Workbook
首先看一下一下的代码
def create_execl(name):
wb = Workbook()
ws = wb.active
ws.title = name
excel_headers = ["疾病信息", "问诊类型", "病例url", "医生url", "医生简介", "医生擅长", "医生服务质量", "医生建议", "医生与患者交流"]
ws.append(excel_headers)
wb.save(name+".xlsx")
def write_back_execl(data, name):
wb = load_workbook(name+".xlsx")
ws = wb.active
ws.append(data)
wb.save(name+".xlsx")
然后我来对大家逐行解析
首先函数create_excel(name)是创建一个名为 name的Excel 文件,并写入表头信息。
1.wb = Workbook():创建一个新的 Workbook 对象,即一个新的 Excel 文件。
2.ws = wb.active:获取当前活动的工作表对象,这是一个 Worksheet 对象。
3.ws.title = name:将当前工作表的名称设置为传入的 name 参数。
4.excel_headers:定义了 Excel 表头的字段,包括 "疾病信息"、"问诊类型" 等。
5.ws.append(excel_headers):将表头信息添加到第一行。
6.wb.save(name+".xlsx"):保存 Excel 文件,文件名为 name.xlsx,这里的 name 是函数的参数。
函数write_back_excel(data, name),是用于向已存在的 Excel 文件中写入数据。
1.wb = load_workbook(name+".xlsx"):使用 load_workbook 函数加载已存在的 Excel 文件,文件名为 name.xlsx。
2.ws = wb.active:获取当前活动的工作表对象。
3.ws.append(data):将数据 data 追加到当前工作表的最后一行。
4.wb.save(name+".xlsx"):保存修改后的 Excel 文件。
以上爬虫简易思路,希望对你们有帮助
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj