戳蓝字“智森一号”发送你的问题!

网络爬虫它是一个技术,本身并不难。

有看过前面几篇文章的应该知道我经常说一句话,把复杂的过程简单化,重复的过程自动化。

大家可以套用这个公式去想一想“网络爬虫”把什么过程简单化了,什么过程自动化了。如果想不明白的,看下面的案例。

这边我在跟大家说一句,“很多词本来并没有意义,是人们后天赋予了它意义,人们一般用它来概括某一个行为或过程

所以不要想得太复杂,它比你想象中简单。说破了也就那么一回事儿。

高德地图案例

忽然很迷汉堡,想看看附近到底有多少汉堡店,都开在哪,如果有机会把它们吃一遍。

下面是手动找商家的过程:

打开高德地图——选择区域——搜索汉堡——看到很多商家——一家一家复制地址等信息——保存到电脑上。

我们将获取商家信息的过程,通过程序使它自动化,如下图。

看到这里明白了吗?

爬虫就是:从一个目标点(高德地图),根据特定的规律(找商家的过程),保存自己想要的数据(商家信息)

如何写一个爬虫

如果不想学的,可以滚动到文章底部,点个好看然后退出去

我不知道你的语言基础如何,所学的语言是什么,所以我这边不从代码上去讲,如果想学习代码版的,可以在公众号内留言:语言,你的学习程度;我这边根据留言的数据考虑是否写一期代码版的。

我这边就简单的讲解一下爬虫的制作过程吧,根据你所用的语言,对号入座。

在你的所学的语言中,你需要知道:

  1. 如何进行post/get并保存返回数据

  2. 在一串字符串中,知道另一串字符串出现的位置

    1. 比如说:在 abcdefg 中 de 出现的位置

  3. 给定两个位置和一段字符串,截取字符串中两个位置之间的内容

    1. 在 abcdefg 中 截取位置 2-4 之间的内容。

  4. 替换字符串

    1. 在aabbcc 中 把 a 替换成 1 变成11bbcc

  5. 如何循环执行,for或者while。

  6. 如何做判断,与或非。

  7. 计算字符串长度。

当你知道上面这些以后,你就可以制作出一个简单的爬虫。

以百度作为案例

基础流程图

我们对“根据规则整理数据” 展开讨论,我们以百度为例子,取搜索结果的链接地址

单次截取流程

以获取搜索结果的链接为例子就是:

查找返回数据中:result c-container 字符串所在的位置,从这个位置查找href = "所在的位置记录为X1,从X1 的位置开始查找" 所在的位置,然后从返回数据中截取,x1到x2之间的内容。

这样就的得到了

唯一定位的意思:

每个“搜索结果”前面都有的一串字符串。我们可以用它来定位下一个搜索结果的位置。

如果数据量少的可以不用“唯一定位”,百度搜索结果的返回数据很长,“唯一定位”是为了定位每个结果的开头位置。

根据上面的方法你可以取出一条数据,如果想要,把所有的数据都取出来怎么办。

从左上角开始看

要想执行程序一开始就有两个条件

1.当前页码与返回数据中的相同:当前页码指的是网址上的pn值,给他还原成正常的网页,然后与返回数据中的当前所在页判断是否相同。如果不是,可能已经是最后一页。退出程序。

这里面有个比较有意思的地方,当你的页数到达最后一页以后,数据会一样。

取返回数据中的页码

2.要找得到“唯一定位”,根据前面的讲解,我们知道唯一定位是每个搜索结果开头一定会有的一个字符串,而且都相同。如果找不到这个“唯一定位”那么大概率是没有搜索结果。

这边展开讲一下翻页。

第一页

第二页

第三页

我们可以看见,pn数值在变,我们可以找到规律,并且大胆猜想

pn =(页数-1)* 10

如果要去20 页,就是19*10=190

翻页就是更新pn的值,重新进行 post/get。

这样你就做出了下面的效果

根据上面讲的知识,也可以取域名部分,过滤重复项

有兴趣的自己想想,在这不展开讨论

所以总结一下制作过程,给定一段内容,这段内容可以是从网站获取的,对这段内容通过查找“唯一定位”,查找开头标记,结尾标记,然后截取出其中的内容,进行排版。输出,保存。

如果只是自己用的话写成脚本就可以了,没必要做个页面。

如果你怕下次忘记你可以点击右上角分享到朋友圈,或点击收藏

你可以研究一下怎么添加星标,下次第一时间获取教材

右下角的好看数量可能影响该类型文章的创作数量

遇到任何问题你都可以在公众号内留言

amigo幸运字符什么意思_做个爬虫比你想象中简单!爬虫是什么?怎么做?相关推荐

  1. amigo幸运字符什么意思_转载 | 史上最全 python 字符串操作指南

    点击蓝字关注,创智助你长姿势 [本文已由  清风Python 授权转载(原创)作者:王翔,转载请联系出处] 字符串的定义 完了,估计很多人看到这个标题就要关网页了,稍等不妨再往下看看? python ...

  2. amigo幸运字符什么意思_史上最全python字符串操作指南

    字符串的定义 日常编码中,大家会发现,太多时候我们需要对数据进行处理,而这数据不管是数组.列表.字典,最终都逃不开字符串的处理. 所以今天要来跟大家发散的聊聊字符串! 估计很多人看到是将字符串肯定觉得 ...

  3. amigo幸运字符什么意思_机器视觉之halcon入门(4)-字符识别

    第1节 第二个halcon程序 2.3.1 第二个halcon程序:字符识别 写这一章的时候距离第一章写完已经有2周之久了.为什么隔了这么久呢,因为我偷懒了,没有坚持下来...结果现在激情大不如写第一 ...

  4. amigo幸运字符什么意思_超不清视频播放器-用Python将视频转成字符

    今天分享的这段代码,看起来没啥实际用处,而且有些反潮流,因为现如今大家看视频都追求更高分辨率的超清画质,而我们这个,是一个"超不清"的视频播放器: 在控制台里播放视频,用字符来表示 ...

  5. amigo幸运字符什么意思_无线网络ssid是什么意思(全面解析SSID涵义)

    什么事SSID广播?如果你用WiFi的话,一定会注意到有一个词叫ssid,这是什么意思呢?WiFi设置中屏蔽SSID广播有什么用?情况下文介绍. (原创文章) 解释: SSID是一个无线局域网络(WL ...

  6. amigo幸运字符什么意思_QQ幸运字符有几个一共多少种 qq幸运字符标识都有哪些介绍...

    QQ幸运字符就是一种互动标识,有非常多的类型,当我们聊天越多,就越大概率获得我们想要的幸运符.下面和大家分享一些幸运字符标识. qq幸运字符一共有几种 两人无亲密关系时: 两人无亲密关系时,可以获得的 ...

  7. amigo幸运字符什么意思_QQ有什么魅力?为什么00后都喜欢?细节都在这些“标识”里...

    随着身边使用微信的用户越来越多,很多人都以为没人在玩QQ了,其实不然,经过教授观察,QQ的使用用户并不比微信少多少.而且其主要用户群正是马上崛起的00后一代. QQ和微信有着本质的区别.QQ提供的是一 ...

  8. amigo幸运字符什么意思_OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

  9. amigo幸运字符什么意思_Python正则表达式之初始篇:字符匹配

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...

最新文章

  1. 帆软finereport实现动态切换分组和列表模式
  2. 深度案例 | 微车:数据驱动价值,建立 1.3 亿车主的汽车生活平台
  3. 算法工程师的效率神器——vim篇
  4. python写入一个文件之前可以不打开_如何用python实现真正的打开和关闭文件
  5. shell中取字符串子串的几种方式
  6. ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台(elk5.2+filebeat2.11)
  7. 可以直接考甲级吗_函授本科可以考四级吗
  8. Java多线程学习总结(7)——创建线程池的正确姿势
  9. Python是编译运行的
  10. ESP8266—“ICACHE_FLASH_ATTR”宏——解释含义
  11. 什么是C++标准库?
  12. 请求帮助--访问被拒绝:“Interop.jmail”
  13. SpringBoot+Quartz实现动态可配定时任务(动态定时任务)
  14. MFC 资源脚本问题:fatal error CVT1100: 资源重复。类型: AFX DIALOG LAYOUT
  15. ctf逆向解题——re1
  16. 读书项目:ePub标准介绍
  17. 蓝桥 密码锁(Java)
  18. excel手机版_微软开发于手机端的办公软件!
  19. VS:如何解决VS2015的30天试用期已过即VS2015许可证已过期的问题
  20. python opencv 图片/视频 拼接

热门文章

  1. 教育行业数据防泄密解决方案
  2. 大数据的产业链分析,大数据完整的产业链构成
  3. Myeclipse10怎么找到 Servers
  4. 我喜欢计算机作文300字,关于我喜欢作文300字
  5. 百度云盘照片导入华为相册里_百度网盘传送列表怎样导入手机相册_手机百度网盘下载到相册...
  6. 教你一招快速清理DNS缓存
  7. 软景php,案例分享 | 景观工程案例分析及其成本优化
  8. 用where in遇到null时的解决方法1
  9. 第一章:计算机的软硬件基本结构_3
  10. 《长安十二时辰》,作为程序员,看完我震惊了!涉及通信、云计算、大数据等!...