爬虫的简单介绍

Urllib

1、什么是互联网爬虫?

在这里插入图片描述

如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的数据;

解释1:通过一个程序,根据url(https://www.baidu.com)进行爬取网页,获取有用信息;
解释2:使用程序模拟浏览器,去向服务器发送请求,获取响应信息;

2、爬虫核心?

1、爬取网页:爬取整个页面,包含了网页中所有的内容;
2、解析数据:将网页中你得到的数据,进行解析;
3、难点:爬虫和反爬虫之间的博弈;
怎么去理解爬虫和反爬呢?

其实就好比,你有个喜欢的女孩子,叫做女神,那你和女神表达,这就叫做一个爬虫的过程,那女神拒绝了你,这就叫做反爬,那拒绝你肯定也是有原因的,那你知道了拒绝的点,解决掉,就可以爬取成功了。

3、爬虫的用途?

  • 数据分析/人工数据集
  • 社交软件冷启动
  • 舆情监控
  • 竞争对手监控

社交软件冷启动:就比如陌陌那种社交软件刚出来,你给别人发消息,你会发现别人不理你,这是为什么呢?这其实是因为社交软件为了让自己的用户看起来多,使用了爬虫爬取了别人的社交账号,冒充是自己的用户,实际这压根就是个空号,自然是不可能理你的。
竞争对手监控:目前主要的两大购物平台,他们就会互相去爬取对方的数据,然后看看对方的售价即活动之类的,来竞争。

爬虫流量目标行业分布

1、出行

目前我们出行的票都是通过12306购买的,但是,会发现,市场上还是有什么飞猪出行等等购票软件,那这是为什么?
这其实这些软件通过爬虫一直对12306进行数据爬取,以此达到牟利的过程;

2、社交

微博是一个重灾区,将你里面的用户爬取下来,作为我的应用里面的假用户,用户体量给它造高一点,还有文章、话题什么的,用于引流;

3、电商

电商类的就是对竞争对手的一个监控

4、政府部分

这个就可能很多人有疑问了,为啥政府部门使用爬虫也很多呀?
就比如我们的气象局,天气都是从这里发布的,那为什么我qq天气、微软天气等都能查询到天气情况呢?这其实就是通过爬虫对我们的气象局进行了一个数据的爬取过程;

4、爬虫分类

通用爬虫:
    实例:
        百度、360、google、sougou等搜索引擎-----伯乐在线
    功能:
        访问网页->抓取数据->数据存储->数据处理->提供检索服务
    robots协议:
        一个约定俗成的协议,添加robots.txt文件,来说明本网站哪些内容不可以被抓取,起不到限制作用
        自己写的爬虫无需遵守
    网站排名(SEO):
        1、根据pagerank算法值进行排名(参考个网站流量、点击率等指标)
        2、百度竞价排名
    缺点:
        1、抓取的数据大多是无用的;
        2、不能根据用户的需求来精准获取数据;

这个最明显的就是我们的浏览器了,去搜索一个东西,会出现很多有用没用的东西,这是为啥呢?
这其实按照道理,搜索结果的排名应该是按照pagerank算法来进行推荐,但是现实情况是进行了一个竞价,谁出价高,就谁的东西排名靠前,这种不是我们程序员要学习的。

聚焦爬虫
    功能:
        根据需求,实现爬虫程序,抓取需要的数据
    设计思路:
        1、确定要爬取的url;
            如何获取url
        2、模拟浏览器通过http协议访问url,获取服务器返回的html代码;
            如何访问
        3、解析html字符串(根据一定规则提取需要的数据)
            如何解析

聚焦爬虫就是根据我们的需求去抓取想要的数据,获取指定的东西,不是所有东西都要的。从那一整个网页中获取想要的指定元素,这就是聚焦爬虫。

5、反爬手段?

1、User-Agent:
    User Agent中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
2、代理IP
    西次代理
    快代理
    什么是高匿名、匿名和透明代理?它们有什么区别?
        1、使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP.
        2、使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP.
        3、使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP.
3、验证码访问
    打码平台
        云打码平台
4、动态加载网页 网站返回的是js数据,并不是网页的真实数据
    selenium 驱动真实的浏览器发送请求
5、数据加密
    分析js代码

代理IP:对于一秒钟点击200次,这明显不是人类能够拥有的速度,那么,对于这种,就会进行一个封ip的操作,那ip被封了,就不爬了吗?自然是不可能的,咱换个ip接着淦

Python网络爬虫技术是指利用Python编程语言,自动化地从互联网上获取和提取各种类型的信息的一种技术。网络爬虫通常用于对网页进行解析,从而获取网页中所包含的数据,并提供给用户使用或进一步处理。 采用Python编写网络爬虫的优势在于其简洁明了的语法和丰富的第三方库支持。Python拥有一系列强大的库和框架,如BeautifulSoup、Scrapy等,它们可以帮助我们更轻松地实现各种网络爬取操作。 在Python网络爬虫技术中,一般的步骤包括以下几个方面: 1. 发送HTTP请求:使用Python的requests库可以发送HTTP请求,获取网页源代码。通过模拟浏览器行为,请求网页并获得响应。 2. 解析网页:通过解析网页源代码,提取所需的数据。可以使用Python的正则表达式,或者更常用的是BeautifulSoup库,它可以解析HTML或XML,使得网页结构化处理更加方便。 3. 数据提取和处理:根据需求,提取所需数据,并进行相应的处理。可以利用正则表达式、XPath或CSS选择器等方法,从网页中抽取出特定的信息。 4. 存储数据:将提取的数据保存到本地文件或数据库中。可以使用Python的文件操作或数据库操作库进行存储。 5. 自动化运行和持续更新:可以使用定时任务或事件触发等方式,编写代码实现网络爬虫的自动化运行和持续更新。 需要注意的是,网络爬虫技术需要遵守相关法律法规,尊重网站的规则和隐私,合法使用爬取的数据,避免对被爬取网站造成过大的负担。在进行网络爬虫时,需要注意合理设置爬取间隔,并避免给被爬取网站带来过大的访问压力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值