python爬虫入门

python爬虫入门

前言

什么是爬虫

我们所熟悉的一系列搜索引擎都是大型的网络爬虫,比如百度、搜狗、360浏览器、谷歌搜索等等。每个搜索引擎都拥有自己的爬虫程序,比如 360 浏览器的爬虫称作 360Spider,搜狗的爬虫叫做 Sogouspider。首先简单的理解一下爬虫。即请求网站并且提取自己所需的数据的一个过程。至于怎么爬如何爬,将是后面进行学习的内容,暂且不必深究。通过我们的程序,可以代替我们向服务器发送请求,然后进行批量、大量的数据的下载。

爬虫分类

爬虫可分为三大类:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫。

通用网络爬虫:是搜索引擎的重要组成部分,上面已经进行了介绍,这里就不再赘述。通用网络爬虫需要遵守 robots 协议,网站通过此协议告诉搜索引擎哪些页面可以抓取,哪些页面不允许抓取。
robots 协议:是一种“约定俗称”的协议,并不具备法律效力,它体现了互联网人的“契约精神”。行业从业者会自觉遵守该协议,因此它又被称为“君子协议”。

聚焦网络爬虫:是面向特定需求的一种网络爬虫程序。它与通用爬虫的区别在于,聚焦爬虫在实施网页抓取的时候会对网页内容进行筛选和处理,尽量保证只抓取与需求相关的网页信息。聚焦网络爬虫极大地节省了硬件和网络资源,由于保存的页面数量少所以更新速度很快,这也很好地满足一些特定人群对特定领域信息的需求。

增量式网络爬虫:是指对已下载网页采取增量式更新,它是一种只爬取新产生的或者已经发生变化网页的爬虫程序,能够在一定程度上保证所爬取的页面是最新的页面。

如何实现爬虫

今天带给大家的是一款利用python进行网络爬虫的requests模块,我使用的是Pycharm 2022.2.3, 喜欢动手的小伙伴可以尝试以下,以下代码均可成功实现。

网络请求模块 :

requests 模块

之所以使用requests 模块是因为其使用较之于-urllib 模块更简洁高效。

requests 模块 python中原生的一款基于网络请求得到网页数据的模块,功能强大,简单便捷,效率极高。

requests 模块作用:

模拟浏览器发送请求 (爬虫)

如何使用requests 模块:

(requests模块的编码流程)

  1. 指定url
  2. 发起请求 get 或 post
  3. 获取响应数据
  4. 持久化存储

让我们开始今天的旅程吧

环境安装:

pip install requests

编码实战:

  1. 导入requests 模块包

    import requests
    
  2. 指定需求:爬取搜狗首页的页面数据

    # 指定url
        url = 'https://www.sogou.com/'
    
  3. 发起请求get

    # get方法会返回一个响应对象
        response = requests.get(url=url)
    # 如果响应成功则使用response对象来接收
    
  4. 获取响应数据

    # 获取响应数据
        page_text = response.text
    

    .text返回的是字符串形式的响应数据

  5. 持久化存储

     with open('./sogou.html', 'w', encoding='utf-8') as fp:
            fp.write(page_text)
    

完整代码参考:

import requests
# step 1.指定url
url = 'https://www.sogou.com/'
# step 2.发起请求
# get方法会返回一个响应对象
response = requests.get(url=url)
# step 3.获取响应数据
page_text = response.text
print(page_text)
# step 4.持久化存储
with open('./sogou.html', 'w', encoding='utf-8') as fp:
    fp.write(page_text)
print("爬取数据结束!!!!")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小猿--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值