爬虫的小技巧之–如何寻找爬虫入口
大家好,我是四毛,最近开通了个人公众号“用Python来编程”,欢迎大家“关注”,这样您就可以收到优质的文章了。
今天主要分享一些关于寻找爬虫入口的小技巧心得。
写着篇文章的原因是在工作中要去做一个关于作业帮的任务,而作业帮只有app, 当然可以通过对app进行抓包来获取数据;同时也可以根据一些问题的相关问题,层层递进去获得数据。我一开始采用的就是后一种方法,但是这种方法有几个不太好的地方:
(1) 很容易获取到脏数据。比如我本来的任务是获取一些语文方面的问题数据资料,但是当我以某一个语文类的问题为初始网址进行爬取时,发现后面获得的数据竟然都是英语类型的了。
(2) 效率很低。
那么,对于这种的爬虫任务到底有没有更好的爬虫入口呢?很明显,有的。
寻找爬虫入口
1 、本次任务的入口
这个爬虫的更好的入口就是我们平常使用的搜索引擎。搜索引擎虽然有很多种,但是其实都是在干一件事,收录网页,处理,然后提供搜索服务。在平时使用的过程中,我们通常都是直接输入了关键词就直接搜索了,但是其实还有很多的搜索技巧, 比如对于这个任务来说,只要我们这样搜索,就可以得到我们想要的数据了。
现在我们在百度,谷歌, 搜狗, 360,必应里都分别试一下:
从上面的图中可以发现返回的数据量都在百万甚至是千万级别。
所以把这些数据作为这个任务的入口,显然是更好的。至于说应对反爬虫的措施,那就考验个人的基本功了。
2、其他的入口
(1) 移动端入口
通过网站的移动端入口进行获取数据,可以更好更快速的获取数据。
寻找移动端入口的最简单的方式就是用打开谷歌浏览器的开发者模式以后,点击下面的手机样子的东西,然后在刷新一下就可以了。
这种方法也不是万能的,有的时候我们可以把网址发到我们的手机上,然后手机浏览器打开,看一下在手机上面显示的格式是否与电脑上的不一样,如果不一样的话,就可以再把手机浏览器的网址复制一下发到电脑上了。
(2)网站地图
网站地图是指可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页, 所以通过这些网站地图可以更高效更方便的获取一些作为下一级入口的网址。
(3)修改网址中的数值
首先申明,这个技巧不是万能的。
这个技巧主要是通过对网址中的某些字段的数值来从一次请求中最大限度的获取所需的数据,减少请求数,也就减少了被网站封禁的风险, 也就可以提高爬虫的效率。下面以一个例子为例:
当爬取QQ音乐的某一个歌手的全部音乐数据时,抓包获得的格式如下:
https://xxxxxxxxx&singermid=xxxx&order=listen&begin={begin}&num={num}&songstatus=1
返回的数据包如下:
其中的一些字段值被我以xxx代替了,请注意这里的num字段,通常一个歌手的歌比较多时,数据都是通过下一页展示出来的,所以这里的begin就应该是每一页第一条的对应的值,而num则是这个页面有多少条数据。通常,我们可以一页一页的获取数据, QQ音乐的默认值是30。那么我们是不是非得至少请求4次才可以获得完整数据呢?
当然不是,其实这个时候,我们可以自己试一下改变网址中的一些数值时,返回的结果是否会发送变化。在这里,我们就改变num与begin的值,其中设置num就是某一个歌手所有的歌曲数量的值,begin为0,这个时候再重新请求修改之后的网址,就可以得到下面的数据:
从上面可以看到,返回了96条数据。
这样,我们可以通过2次请求获取到所有的数据了。第一个请求获取total数目,然后再修改网址重新请求,这样就可以获得所有的数据了。
类似的字段还有pagesize。
总结
上面的这些寻找爬虫入口的小技巧可以使我们事半功倍,有的时候可以以最少的代价获取到数据。
爬虫的小技巧之–如何寻找爬虫入口相关推荐
- python网络爬虫入门小程序_Python 实现网络爬虫小程序
转载请注明作者和出处: http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 前言 ...
- python网络爬虫权威指南 百度云-Python网络爬虫权威指南 PDF 第2版
给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.网络爬虫方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小5.54 MB,瑞安·米切尔编写,目前豆瓣.亚马逊. ...
- scrapy没有运行结果_关于Scrapy爬虫项目运行和调试的小技巧(下篇)
前几天给大家分享了关于Scrapy爬虫项目运行和调试的小技巧上篇,没来得及上车的小伙伴可以戳超链接看一下.今天小编继续沿着上篇的思路往下延伸,给大家分享更为实用的Scrapy项目调试技巧. 三.设置网 ...
- qlv格式的视频如何转为mp4格式(爬虫小技巧)
qlv格式的视频是腾讯专属的加密视频,非要在腾讯视频中才能打开,万一身边没有个腾讯视频播放器,打不开岂不是很尴尬...还是转为mp4格式吧 全网搜方法之后,除了命令行转,就是转换器转. 命令行转:新版 ...
- 飞蚁http代理:如何寻找爬虫入口?
寻找爬虫入口 1 .本次任务的入口 这个爬虫的更好的入口就是我们平常使用的搜索引擎.搜索引擎虽然有很多种,但是其实都是在干一件事,收录网页,处理,然后提供搜索服务.在平时使用的过程中,我们通常都是直接 ...
- 芝麻HTTP:如何寻找爬虫入口
2019独角兽企业重金招聘Python工程师标准>>> 寻找爬虫入口 1 .本次任务的入口 这个爬虫的更好的入口就是我们平常使用的搜索引 ...
- python爬虫的一些技巧
用python写爬虫程序,入门很快,要进阶从"能用"提升到"用的省心省事"有很多方面需要改进 下面是一些技巧总结. Gzip/deflate支持 现在的网页普遍 ...
- python3 爬虫技巧_用 python 爬虫抓站的一些技巧总结
学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写goog ...
- python爬网易新闻_Python爬虫实战教程:爬取网易新闻;爬虫精选 高手技巧
Python爬虫实战教程:爬取网易新闻:爬虫精选 高手技巧 发布时间:2020-02-21 17:42:43 前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有, ...
最新文章
- UltraEdit 使用操作
- 人大副教授:本科生一定要做科研吗?九大灵魂拷问
- 本周三、四两场直播丨达梦 vs. Oracle,从快速入门到性能分析优化
- 二层交换机 不在同一子网_从二层交换机来说为什么三层交换机比路由器转发速率快...
- mybatis mysql 中文乱码_Mybatis + Mysql 插入数据时中文乱码问题
- 【MySQL】Unknown column 'column_name' in 'field list'
- 零基础起步Keras+LSTM+CRF的实践命名实体识别NER
- php高级视频教程下载_50个G的PHP视频教程全集下载
- photoshop 插件_Photoshop的柔光
- java各种优秀开源库收集
- 小米4 android6.01的开发者模式开启方法
- 学籍管理系统c语言项目作业,C语言实现学生学籍管理系统
- 小程序 消息订阅、统一服务消息、客服消息、消息推送
- linux shell脚本 cp,shell命令之cp
- 计算机学后感作文400,考试后的感想作文400字(精选10篇)
- 使用ajax报405错误
- QT中的QLineEdit设置setEchoMode
- SAP 薪酬计算流程
- 【APUE笔记】第十二章 高级I/O
- 初学者用Eclipse和IDEA哪个好用一点?