极简爬虫通用模板

news/2024/12/2 14:53:27/

网络爬虫的一般步骤如下:

1、确定爬取目标:确定需要爬取的数据类型和来源网站。

2、制定爬取策略:确定爬取哪些网页、如何爬取和频率等。

3、构建爬虫程序:使用编程语言(如Python)实现爬虫程序,通过HTTP请求获取网页内容,并进行解析和处理。

4、数据存储:将爬取到的数据存储到数据库或文件中,便于后续处理和分析。

5、处理异常情况:处理因网络故障、网页解析错误等原因导致的异常情况。

6、遵守规则:遵守网络爬虫的相关规定,如robots协议、网站的访问频率限制等。

7、定期更新:定期更新爬虫程序,以适应网站的变化和更新。

在这里插入图片描述

一、准备工作

1、获取网页

需要用到requests库,最常用得是get()方法

import requests
link = 'https://网址xxxxx/'
response  = requests.get(link)

这样就获取了网页,想要进一步查看网页,需要用到text属性

print(response.text)`

2、解析网页(也就是找到想要的信息)

需要用到bs4库

from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text,'html.parser')

找到对应标签需要用到find_all方法

soup = BeautifulSoup(response.text,'html.parser').find_all(name='div',class_="top-ok")

3、保存信息

with open('book.txt','a+') as f:f.write(m.text+'\n')

二、爬虫程序最小框架

结合上面所说,爬虫最小框架得代码为:

import requests
from bs4 import BeautifulSoup
# 获取网页
link = 'https://网址xxxxx/'
response  = requests.get(link)
# 解析网页
soup = BeautifulSoup(response.text,'html.parser').find_all(name='div',class_="top-ok")
# 保存信息
with open('book.txt','a+') as f:f.write(m.text+'\n')

三、额外说明

为了顺利爬取网站信息,有几个必备技能一定要了解。

1、headers

为了对付“反爬虫”,我们需要让程序觉得是人在操作,最基本得方法是设置headers

headers = {'User-Agent': 'xxx此处换为自己的信息xxxx'}
link = 'https://网址xxxxx/'
response  = requests.get(link ,headers = headers)

2、编码方式设定

有时候爬取下来得信息会出现乱码,这时候需要通过设置编码解决。常见得编码方式为UTF-8、GBK

response  = requests.get(link ,headers = headers)
response.encoding = 'UTF-8'

所以我们得爬虫最小框架进化成了下面得形式

import requests
from bs4 import BeautifulSoup
# 获取网页
headers = {'User-Agent': 'xxx此处换为自己的信息xxxx'}
link = 'https://网址xxxxx/'
response  = requests.get(link ,headers = headers)
response.encoding = "UTF-8"
# 解析网页
soup = BeautifulSoup(response.text,'html.parser').find_all(name='div',class_="top-ok")
# 保存信息
with open('book.txt','a+') as f:f.write(m.text+'\n')

四、举例

举例子。此处需要把headers设置成自己得才能正常运行。

import requests
from bs4 import BeautifulSoup
headers = {'User-Agent': 'xxx此处换为自己的信息xxxx'}
link = 'http://jshk.com.cn/'
response  = requests.get(link ,headers = headers)
response.encoding = 'UTF-8'
print(response.text)
soup = BeautifulSoup(response.text,'html.parser').find_all(name='div',class_="top-ok")
for n in soup:n = n.find_all(name='a')for m in n:with open('book.txt','a+') as f:f.write(m.text+'\n')

http://www.ppmy.cn/news/59203.html

相关文章

Spark概述

1.Spark用来干啥的? Spark是一个开源的大数据处理框架,主要用于分布式计算和数据处理。Spark可以处理大量的数据,并且可以在分布式计算中进行数据处理和分析,具有高效性和可扩展性。Spark支持多种编程语言,并且可以与…

SpringCloud学习(七)——统一网关Gateway

文章目录 1. 网关介绍2. 网关搭建2.1 引入依赖2.2 创建启动类2.3 编写配置2.4 测试 3. 路由断言工厂4. 路由过滤器4.1 过滤器配置4.2 全局过滤器4.3 过滤器执行顺序 5. 跨域问题处理 1. 网关介绍 到现在,我们可以使用Nacos对不同的微服务进行注册并管理配置文件&am…

asp.net基于web的校园美食派送配送系统

1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。 2.系统用户管理:不管是…

大规模MIMO系统中基于CSI的卷积神经网络定位

来源:投稿 作者:小灰灰 编辑:学姐 论文标题:CSI-based Positioning in Massive MIMO systems using Convolutional Neural Networks 摘要 研究了使用大规模MIMO(MaMIMO)系统的信道状态信息(CS…

MSQL知识学习07(MySQL执行计划分析)

1、什么是执行计划? 执行计划 是指一条 SQL 语句在经过 MySQL 查询优化器 的优化会后,具体的执行方式。 执行计划通常用于 SQL 性能分析、优化等场景。通过 EXPLAIN 的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引…

HBase(3):集群搭建

1 基础环境需求 jdk1.8以上Hadoopzookeeper 2 下载HBase安装包 Apache Downloads 3 安装 3.1 上传解压HBase安装包 tar -xvzf hbase-3.0.0-alpha-3-bin.tar.gz -C /opt/ 3.2 修改HBase配置文件 (1)修改hbase-env.sh cd /opt/hbase-3.0.0-alpha-3-bi…

运维简单面试题

问题:使用Linux命令查询file.txt中空行所在的行号 awk /^$/{print NR} file1.txt 问题:有文件file2.txt内容如下: 求一列的和 张三 40 李四 50 王五 60 awk {sum$2} END{print "求和"sum} file2.txt 问题:Shell脚本里如何检查…

项目范围管理——实践感悟

关于项目范围管理 在范围管理中,范围的确定是重中之重,项目范围管理也不能按书上的照搬过来,都采用的话那可能真是全职的项目经理,但实际中的项目并不会有那么舒服的情况,但对于项目范围的管理我们也要养成思考以下问…