文章目录

  • 缘起
  • 第一次尝试:咱毕竟是懂技术的人,干的活儿那怎么能没有技术含量?
  • 第二次尝试:算了,什么技术部技术的,土办法来吧
  • 第三次尝试:失败了?不,只是没调好参而已啦,再干!!!
  • 第四场:给老子爬!!!
    • 经验一:
    • 经验二:
    • 经验三:
    • 经验四:
    • 放码过来
  • 结语

缘起

哈喽大家好,我是“看,未来”,好久不见。或者说,好久不爬了。

但是今晚,重出江湖,“血雨腥风”不至于,拿了数据我就走。

这不要考试了嘛,想着拿一下平时的选择题来过一遍,加深一下印象。奈何那选择题都是被选过的了,答案的痕迹很明显,又不让复制粘贴。

简单的说呢,目标是这样的:

那你说这样的试题做起来有什么意思,难道我要说:“看不到看不到,我看不到答案”,骗谁呢。

而且吧,我这人有个癖好,我要打印出来看呐。

但是吧,题目可以直接复制,选项不让复制,这给我着急的啊。


第一次尝试:咱毕竟是懂技术的人,干的活儿那怎么能没有技术含量?

是吧,咱如果只会截图,提取文字,那和没学过爬虫的小白有什么两样?
我们有一个老师,给我们的题目都是纯英文的,每次做完还要我们从头到尾翻译一遍交上去。
没点技术,真得去把英语学得很六啊,不然百度翻译都麻烦?

于是我果断打开了网页源代码,这时候我可以介绍一下这套题目的规模了:

总共六套试题,平均每套试题有32道题目,这就是近200道题了,每道题有四个选项,个别多选题有五个。
也就是说,我如果用手去复制粘贴,要复制粘贴各1000下。

这事儿我能干吗?我复制粘贴了100下就果断放弃了,这事儿我干不了!!!


第二次尝试:算了,什么技术部技术的,土办法来吧

于是,我开始用截图。。。
是的,我又一次屈服了。。。

但是,就算截图,我也要与众不同,我长截图!!!
一套试卷我直接一张图分四段截下来,一段8题。到打印的时候,我成功的发现,打印出来,那字得用显微镜去看,可惜我暂时买不起。

于是,这条路又失败了。


第三次尝试:失败了?不,只是没调好参而已啦,再干!!!

缓了缓神儿,去考了场试回来,我深思熟路。

字太小,是不是我一次截太多题目了,那我一次截4题?

说干就干,吭哧坑次一小时又过去了,再打印,好家伙,字虽然小,终于可以看了,就是淡了点。

诶,不对,这答案怎么明显比较深色啊。

完了,又白干了。。。



于是我跟身边的好兄弟抱怨了一下:这复制粘贴简直要命。
他说:你可以花一个晚上。
我说:你开什么玩笑?这是一晚上能解决的事情?
他说:我的意思是,牺牲你睡觉的一晚上,弄完发我一份儿,我替你睡觉。

我当时锤爆他的心都有了,还是嘴硬:算了算了,我去爬吧。


第四场:给老子爬!!!

我想,要不我去把网页源码复制下来吧。

好家伙,复制不了。

看都不用看,这种要登录的,不交账号密码去post,根本不可能给你requests到源码的。

当时,post吧,又是加密过的。。。

你说怎么po?

我本来对post也不熟。

于是我就想转json包,发现包里的网址也上不去。

很无奈。

重头戏来了,前面讲了那么多废话,重头戏来了


经验一:

将鼠标放在数据上方,左击,有两个选项,选第一个:“copy value”,可以复制该作用域下数据。我选择的是“data”

就算json的网址无法打开(因为要登录),我们也可以通过这种方式来获取json的内部数据!!!

复制下来之后呢,放在txt文件里面,拖到浏览器打开浏览。


经验二:

这里我全程推荐用谷歌浏览器,Chrome。别问我为什么,以前讲过很多遍了。


经验三:

对于这种有很多双引号和单引号在内的数据,用三引号包起来。
但是,直接包是不行的,直接包,type是srt,但是转不了json。

会报这个错:“json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx)”

问题原因:
将字符串作为字符串文字复制粘贴到Python源代码中,出现错误。

解决办法:
在这种情况下,\n被解释为单个字符(换行符)。您可以通过使用原始字符串文本来修复它(r’’,使用三引号r’’’…’’'以避免在字符串文本中转义""引号)


经验四:

Python3报错:Non-UTF-8 code starting with '\xe7’的错误

咱也不知道为啥,就是第一次可以,后面换了个字符串就行了,很迷。仔细比对了两个json字符串,没有什么区别啊。

Python3默认使用utf-8的编码格式,如果出现Non-UTF-8 code starting with '\xe7’的错误,可以在程序的最顶部加上 # -- coding:utf-8 --即可。


放码过来

不好意思啊,我这个写的比较土一点,短短几行,写不出很长的代码来,见谅见谅。

def get_value(score):'''从json类型字符串提取目标标签下数据:param score: 目标字符串:return: null'''json_js = json.loads(score)for data in json_js['lists']:print(data['title'])print("answer: " + data['answer'])for option in data['options']:print(option['id'] + ": " + option['title'])print('-------------')

不要诧异为什么只是print,没有写入文件。

不要问,问就是懒得写,我直接cv到word里不好吗?


结语

代码不是重点,重点是这个思路。不管方法有多土,只要简单,且最快的实现目标,就行了,没人管我土不土,他们只要我的文档。

也有朋友知道后跟我说:你为什么不用selenium呢?或者直接将网页源码离线保存下来?
首先,selenium不比这个好写,而且,还慢。其实就是不好写。

网页源码离线保存,我试过了,到时候还要正则,再排版,在输入到文档中,更麻烦。

我的好朋友曾给我看过一个笑话,在他看来是笑话,但是却引起了我的深思,我分享给大家吧。

有个不大的公司,遭遇一个黑客勒索,黑客说,一天不交赎金,就按时给公司断电。然后,他做到了。公司老板很着急啊,就开始让技术部门排查,查了很久查不出来,又斥重金去外面请了安全专家来排查,还是没查出来。后来,偶然有一次,被发现黑客花了点钱买通了公司里的一个老大爷,老大爷每天按时去拉电闸。。。

批复是:真正厉害的手法,往往是最原始的。。。

一千个读者有一千个哈姆雷特吧,我还是忘不了那天中午,老师让我打开了淘宝,一块钱买了我一周的努力,这就是方法论,方向论,解决问题的路子要广,要野,思路要打开,怎么稳,怎么简单,怎么来。


【经验贴】用最土的手法,最高调的绕过反爬相关推荐

  1. python爬图片_网络爬虫经验:反爬和反反爬

    我想很多人入门python是图片爬虫,就是HTTP请求,保存一下图片,用python实现非常快.网上很多爬虫的教程就讲到这里,实际上很单一,看了跟没看没什么区别,都是找一下网页的规律,然后Beauti ...

  2. url中能出现的字符_python爬虫,解决大众点评字符库反爬机制的经验

    刚开始写文章还希望大家可以喜欢,对于爬虫只是个人整理出的方法,爬虫大牛请嘴下留情.""仅限学术交流,如有冒犯请联系作者删除""话不多说,想分析天津地区餐饮行业的 ...

  3. java从入门到精通_python精通后能赚多少?平均情况。普通智商,刚毕业朝九晚五工作,每天4到5小时学多久精通?...

    知乎用户回答 啊窝额1194人赞同了该回答 这些问题之前题主应该先了解的是: Python掌握了什么是精通? 因为学习这些知识要用多久能学会是自己的学习能力决定的. 掌握Python后是找工作的职业发 ...

  4. 【JS 逆向百例】DOM 事件断点调试,某商盟登录逆向

    文章目录 声明 逆向目标 DOM 简介 逆向过程 完整代码 JavaScript 加密关键代码架构 Python 登录关键代码 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱 ...

  5. python 爬虫《百炼成佛》爬虫入门 (爬虫介绍)第一个爬虫程序

    爬虫<百炼成佛> 爬虫是什么? 爬虫:通过编写程序来获取到互联网上的资源百度 爬虫:通过编写程序来获取到互联网上的资源百度 需求:用程序模拟浏览器.输入一个网址.从该网址中获取到资源或者内 ...

  6. Python爬虫入门到实战

    带伙伴们学习python爬虫,准备了几个简单的入门实例,分享给大家. 涉及主要知识点: 1.web是如何交互的 2.requests库的get.post函数的应用 3.response对象的相关函数, ...

  7. 【JS 逆向百例】DOM事件断点调试,某商盟登录逆向

    文章目录 声明 逆向目标 DOM 简介 逆向过程 完整代码 JavaScript 加密关键代码架构 Python 登录关键代码 关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进 ...

  8. 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...

    课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...

  9. 2020最新Python爬取B站《全职高手》所有评论

    关注小菜鸡IT学python 目的:把B站上的番剧<全职高手>的评论全部爬取 首先打开全职高手主页,按F12出现下图 再按短评,下面出现一个url,那个就是储存评论的url. https: ...

最新文章

  1. linux进程间通信:shell管道 | 的实现
  2. python 双边滤波与高斯滤波
  3. SQL提取表中某列字符长度为2的所有记录
  4. 白话Elasticsearch18-深度探秘搜索技术之基于slop参数实现近似匹配以及原理剖析
  5. Nginx的基本介绍反向代理
  6. supervisor安装和配置
  7. QQ浏览器如何更改截图路径
  8. Mr.J--.c 和.cpp 后缀详解
  9. matlab mex 矩阵,如何从mex函数访问matlab结构字段中的矩阵?
  10. TOSCA自动化测试工具安装
  11. mysql 截取最后三位查询
  12. novell.directory.ldap获取邮箱活动目录
  13. kubernetes视频教程笔记 (20)-ingress
  14. 华为服务器重装操作系统,华为服务器安装操作系统
  15. 【Hadoop】之 实验一(过滤、合并文件)
  16. Clustalx 多重序列比对图解教程(By Raindy)
  17. 如何衡量一篇英语作文词汇丰富度?
  18. 三角形旋转css_三种纯CSS实现三角形的方法
  19. Babel学习之基础学习
  20. SQL和Oracle数据库备份

热门文章

  1. python 安装spyder和问题
  2. 法国大数据:智慧城市中的大数据
  3. win10需要修复计算机,Win10开机蓝屏,显示“你的电脑/设备需要修复”怎么办?答案来了...
  4. 2023年长安大学油气田地质与开发考研上岸前辈备考经验
  5. 程序员必看:一款巨好用的免费简历“神器”(据说有了它,再也不发愁找工作啦!)
  6. 虚拟机配置DNS服务器
  7. 用python绘制熊猫图案,在python中绘制熊猫系列的CDF
  8. 使用poi解析Excel
  9. 天地图 android 接口,天地图嵌入到Android手机中
  10. div显示在上层_怎样设置一个DIV在所有层的最上层,最上层DIV