极简爬虫通用模板

这篇具有很好参考价值的文章主要介绍了极简爬虫通用模板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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设置成自己得才能正常运行。文章来源地址https://www.toymoban.com/news/detail-434486.html

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')

到了这里,关于极简爬虫通用模板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件开发的一般步骤

    软件开发一般遵循一套标准化的流程,旨在确保项目的高效实施、产品质量可控以及最终用户满意度。以下是软件开发的一般步骤: 1.  需求分析 用户需求收集 :通过访谈、问卷调查、观察用户工作流程等方式,从最终用户、业务人员、项目发起人处收集需求信息。 需求梳

    2024年04月27日
    浏览(38)
  • 时间序列预测的一般步骤

    ​​ ARMA模型就是AR和MA的简单结合,同时包含了历史数值项和错误项。由于AR和MA模型都对时间序列有平稳性要求,ARMA模型也存在这个限制,因此我们将其拓展到ARIMA模型,其可以解决非平稳性问题。引入的差分概念是一种获得时间序列的方法。最常使用的一种差分方法是计算

    2024年02月09日
    浏览(48)
  • Java一般用于postgis空间数据库通用的增删查改sql命令

    目录 1 增加 2 删除 3 查询 4 更新 \\\"public\\\".\\\"JGSQGW_Geo\\\"为某模式下得表  一般postgrel有这样的设计模式

    2024年02月13日
    浏览(46)
  • 调试别人的API,一般有哪些步骤?

    当我们使用了一些由别人实现的API接口时,该如何进行调试呢?当我们使用的API返回一些意想不到错误时,该怎么办呢?这个问题可能是由于用户输入或者API本身,或者其他完全无关的内容等引起的。调试是我们进行定位并修复由单个API调用或一系列调用引发的问题。通常,我

    2024年02月02日
    浏览(42)
  • Altium Designer(AD)软件绘图一般步骤

    1.新建一个文件夹,用于存放工程里的所有文件。 2.新建工程,包括PCB工程(File→new→project→PCB project)和集成库工程(File→new→project→Integrated_Library.Intlib)。 3.新建文件,包括原理图文件(File→new→Schematic)、PCB文件(File→new→PCB)、原理图库文件(File→new→Library→Schematic 

    2023年04月08日
    浏览(45)
  • 路由器上网账号密码设置的一般步骤介绍

    不管是新手还是高手,在实际使用宽带路由器的过程中,我们都会常常遇到无法成功进行ADSL拨号的现象,遇到这种现象时多半是我们没有正确设置好宽带路由器的自动拨号参数。遇到这种问题,建议按照下面的操作步骤,来重新对宽带路由器的拨号参数进行设置。 解决方法

    2024年02月08日
    浏览(40)
  • 使用Windbg静态分析dump文件的一般步骤详解

    目录   1、概述 2、静态分析dump文件的一般步骤 2.1、查看异常类型

    2024年02月07日
    浏览(39)
  • 数据分析完整流程一般包括哪几个环节/步骤

    问题定义: 确定需要解决的问题或目标,明确分析的方向和目的。 数据收集: 收集与问题相关的数据,可以包括从各种来源获取的结构化或非结构化数据。 数据清洗: 对收集到的数据进行清理,处理缺失值、异常值和重复值,确保数据质量。 数据探索(探索性数据分析

    2024年01月21日
    浏览(38)
  • 基于react18+vite4+arco.design搭建极简版后台管理模板

    趁着国庆前夕整了一个 vite4 结合 react18 搭建后台管理模板,搭配上字节团队react组件库 ArcoDesign ,整体操作功能非常丝滑。目前功能 支持多种模板布局、暗黑/亮色模式、国际化、权限验证、多级路由菜单、tabview标签栏快捷菜单、全屏控制 等功能。极简非凡的布局界面、高定

    2024年02月08日
    浏览(48)
  • [全网最细]接口测试一般怎么测?接口测试的流程和详细步骤

    我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的 组件接口数据 交互测试、不同系统与系统之间的 接口数据交互 测试等,我们都可以称之为 接口测试 ! 那么接口测试是怎么来测试接口的呢? 接口测试就是通过接口的不同情况下的输入和与之对用的

    2023年04月21日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包