amigo幸运字符什么意思_做个爬虫比你想象中简单!爬虫是什么?怎么做?
网络爬虫它是一个技术,本身并不难。
有看过前面几篇文章的应该知道我经常说一句话,把复杂的过程简单化,重复的过程自动化。
大家可以套用这个公式去想一想“网络爬虫”把什么过程简单化了,什么过程自动化了。如果想不明白的,看下面的案例。
这边我在跟大家说一句,“很多词本来并没有意义,是人们后天赋予了它意义,人们一般用它来概括某一个行为或过程”
所以不要想得太复杂,它比你想象中简单。说破了也就那么一回事儿。
高德地图案例
忽然很迷汉堡,想看看附近到底有多少汉堡店,都开在哪,如果有机会把它们吃一遍。
下面是手动找商家的过程:
打开高德地图——选择区域——搜索汉堡——看到很多商家——一家一家复制地址等信息——保存到电脑上。
我们将获取商家信息的过程,通过程序使它自动化,如下图。
看到这里明白了吗?
爬虫就是:从一个目标点(高德地图),根据特定的规律(找商家的过程),保存自己想要的数据(商家信息)
如何写一个爬虫
如果不想学的,可以滚动到文章底部,点个好看然后退出去。
我不知道你的语言基础如何,所学的语言是什么,所以我这边不从代码上去讲,如果想学习代码版的,可以在公众号内留言:语言,你的学习程度;我这边根据留言的数据考虑是否写一期代码版的。
我这边就简单的讲解一下爬虫的制作过程吧,根据你所用的语言,对号入座。
在你的所学的语言中,你需要知道:
如何进行post/get并保存返回数据
在一串字符串中,知道另一串字符串出现的位置
比如说:在 abcdefg 中 de 出现的位置
给定两个位置和一段字符串,截取字符串中两个位置之间的内容
在 abcdefg 中 截取位置 2-4 之间的内容。
替换字符串
在aabbcc 中 把 a 替换成 1 变成11bbcc
如何循环执行,for或者while。
如何做判断,与或非。
计算字符串长度。
当你知道上面这些以后,你就可以制作出一个简单的爬虫。
以百度作为案例
基础流程图
我们对“根据规则整理数据” 展开讨论,我们以百度为例子,取搜索结果的链接地址。
单次截取流程
以获取搜索结果的链接为例子就是:
查找返回数据中:result c-container 字符串所在的位置,从这个位置查找href = "所在的位置记录为X1,从X1 的位置开始查找" 所在的位置,然后从返回数据中截取,x1到x2之间的内容。
这样就的得到了
唯一定位的意思:
每个“搜索结果”前面都有的一串字符串。我们可以用它来定位下一个搜索结果的位置。
如果数据量少的可以不用“唯一定位”,百度搜索结果的返回数据很长,“唯一定位”是为了定位每个结果的开头位置。
根据上面的方法你可以取出一条数据,如果想要,把所有的数据都取出来怎么办。
从左上角开始看
要想执行程序一开始就有两个条件
1.当前页码与返回数据中的相同:当前页码指的是网址上的pn值,给他还原成正常的网页,然后与返回数据中的当前所在页判断是否相同。如果不是,可能已经是最后一页。退出程序。
这里面有个比较有意思的地方,当你的页数到达最后一页以后,数据会一样。
取返回数据中的页码
2.要找得到“唯一定位”,根据前面的讲解,我们知道唯一定位是每个搜索结果开头一定会有的一个字符串,而且都相同。如果找不到这个“唯一定位”那么大概率是没有搜索结果。
这边展开讲一下翻页。
第一页
第二页
第三页
我们可以看见,pn数值在变,我们可以找到规律,并且大胆猜想
pn =(页数-1)* 10
如果要去20 页,就是19*10=190
翻页就是更新pn的值,重新进行 post/get。
这样你就做出了下面的效果
根据上面讲的知识,也可以取域名部分,过滤重复项
有兴趣的自己想想,在这不展开讨论
所以总结一下制作过程,给定一段内容,这段内容可以是从网站获取的,对这段内容通过查找“唯一定位”,查找开头标记,结尾标记,然后截取出其中的内容,进行排版。输出,保存。
如果只是自己用的话写成脚本就可以了,没必要做个页面。
如果你怕下次忘记你可以点击右上角分享到朋友圈,或点击收藏。
你可以研究一下怎么添加星标,下次第一时间获取教材
右下角的好看数量可能影响该类型文章的创作数量
遇到任何问题你都可以在公众号内留言
amigo幸运字符什么意思_做个爬虫比你想象中简单!爬虫是什么?怎么做?相关推荐
- amigo幸运字符什么意思_转载 | 史上最全 python 字符串操作指南
点击蓝字关注,创智助你长姿势 [本文已由 清风Python 授权转载(原创)作者:王翔,转载请联系出处] 字符串的定义 完了,估计很多人看到这个标题就要关网页了,稍等不妨再往下看看? python ...
- amigo幸运字符什么意思_史上最全python字符串操作指南
字符串的定义 日常编码中,大家会发现,太多时候我们需要对数据进行处理,而这数据不管是数组.列表.字典,最终都逃不开字符串的处理. 所以今天要来跟大家发散的聊聊字符串! 估计很多人看到是将字符串肯定觉得 ...
- amigo幸运字符什么意思_机器视觉之halcon入门(4)-字符识别
第1节 第二个halcon程序 2.3.1 第二个halcon程序:字符识别 写这一章的时候距离第一章写完已经有2周之久了.为什么隔了这么久呢,因为我偷懒了,没有坚持下来...结果现在激情大不如写第一 ...
- amigo幸运字符什么意思_超不清视频播放器-用Python将视频转成字符
今天分享的这段代码,看起来没啥实际用处,而且有些反潮流,因为现如今大家看视频都追求更高分辨率的超清画质,而我们这个,是一个"超不清"的视频播放器: 在控制台里播放视频,用字符来表示 ...
- amigo幸运字符什么意思_无线网络ssid是什么意思(全面解析SSID涵义)
什么事SSID广播?如果你用WiFi的话,一定会注意到有一个词叫ssid,这是什么意思呢?WiFi设置中屏蔽SSID广播有什么用?情况下文介绍. (原创文章) 解释: SSID是一个无线局域网络(WL ...
- amigo幸运字符什么意思_QQ幸运字符有几个一共多少种 qq幸运字符标识都有哪些介绍...
QQ幸运字符就是一种互动标识,有非常多的类型,当我们聊天越多,就越大概率获得我们想要的幸运符.下面和大家分享一些幸运字符标识. qq幸运字符一共有几种 两人无亲密关系时: 两人无亲密关系时,可以获得的 ...
- amigo幸运字符什么意思_QQ有什么魅力?为什么00后都喜欢?细节都在这些“标识”里...
随着身边使用微信的用户越来越多,很多人都以为没人在玩QQ了,其实不然,经过教授观察,QQ的使用用户并不比微信少多少.而且其主要用户群正是马上崛起的00后一代. QQ和微信有着本质的区别.QQ提供的是一 ...
- amigo幸运字符什么意思_OMG,12 个精致的 Java 字符串操作小技巧,学它
字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...
- amigo幸运字符什么意思_Python正则表达式之初始篇:字符匹配
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...
最新文章
- 帆软finereport实现动态切换分组和列表模式
- 深度案例 | 微车:数据驱动价值,建立 1.3 亿车主的汽车生活平台
- 算法工程师的效率神器——vim篇
- python写入一个文件之前可以不打开_如何用python实现真正的打开和关闭文件
- shell中取字符串子串的几种方式
- ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台(elk5.2+filebeat2.11)
- 可以直接考甲级吗_函授本科可以考四级吗
- Java多线程学习总结(7)——创建线程池的正确姿势
- Python是编译运行的
- ESP8266—“ICACHE_FLASH_ATTR”宏——解释含义
- 什么是C++标准库?
- 请求帮助--访问被拒绝:“Interop.jmail”
- SpringBoot+Quartz实现动态可配定时任务(动态定时任务)
- MFC 资源脚本问题:fatal error CVT1100: 资源重复。类型: AFX DIALOG LAYOUT
- ctf逆向解题——re1
- 读书项目:ePub标准介绍
- 蓝桥 密码锁(Java)
- excel手机版_微软开发于手机端的办公软件!
- VS:如何解决VS2015的30天试用期已过即VS2015许可证已过期的问题
- python opencv 图片/视频 拼接
热门文章
- 教育行业数据防泄密解决方案
- 大数据的产业链分析,大数据完整的产业链构成
- Myeclipse10怎么找到 Servers
- 我喜欢计算机作文300字,关于我喜欢作文300字
- 百度云盘照片导入华为相册里_百度网盘传送列表怎样导入手机相册_手机百度网盘下载到相册...
- 教你一招快速清理DNS缓存
- 软景php,案例分享 | 景观工程案例分析及其成本优化
- 用where in遇到null时的解决方法1
- 第一章:计算机的软硬件基本结构_3
- 《长安十二时辰》,作为程序员,看完我震惊了!涉及通信、云计算、大数据等!...