一起学爬虫(Python) — 19 年轻人,进来学自动化

今天要学会实战

  • 爬个难的
    • 爬个大的
      • step1
      • step2
  • 点进来嘛

爬个难的

哈喽大家好,这里是小泽的一起学爬虫(Python)系列的第四天!!!
如果你是新来的,没关系,点个赞收藏一下最好是可以关注一下,然后看一看前面的基础,相信你很快也能跟得上我们的步伐!
虽然点赞还有收藏对我没有什么收益吧,但是能让我知道有人在看,就充满了一直把这个系列写下去的动力!

爬个大的

如果这个时候让你去把某个翻译界面爬下来,对学过之前的知识点的你应该是很轻松的,但是借用一下昨天的比喻,我们还是只能扒下来衣服,不能实现我们要的那个功能。
那怎么办呢……
先分析!
这里给大家找了一个比较好欺负的翻译网站,百度呀,有道呀那些都比较复杂,不利于我们这些萌新学习。
说到这里我就想说一个事情,我发现很多朋友学某种语言的时候,都会一看那些复杂的代码就觉得我不行,哎呀这啥呀,一行一行看…还是看不懂,不行我要放起了。
今天某个学长跟我说的一句话让我恍然大悟,去啃啊!
对哦…对学霸来说,那些更难的东西也是慢慢啃下来的,所以对我们这些初学者来说也是,不要因为前路漫漫就选择了半途而废,俗话说得好,日子久了,水滴也能滴穿石头喽,所以要先学会强迫自己,看到复杂的和不理解的,先学会啃,就硬啃,可以不懂意思,但是不能放弃!
说回正题,今天找到的翻译网站呢,是iciba在线翻译,网址呢,是http://fy.iciba.com。

打开网站,就发现光秃秃的一片,对比百度呀,有道呀,简直是太……简洁了,看起来就很好欺负。


好,这里回忆一下我们之前的四步法!
第一步是…找url
第二步是…发起请求
第三步是…获取响应数据
第四步是…持久化存储
我都能记得住,你应该也是可以的。

step1

step1,第一步的意思,为什么要用英语呢,显得比较高端。
这个时候某些同学就要问了,老师,url不就是网址吗?复制粘贴啊!

说到这里你就肤浅了啊,肤浅!
都说了,这是一件衣服~我们要的东西不在这个衣服里,那要怎么办呢?
脱光光啊!
还记得昨天的审查元素和检查吗,360浏览器右键找审查元素,谷歌浏览器右键找检查。
我们现在就开始,诶嘿嘿……

找url!

首先来到这里啊,工作台,别找错了。
你会发现空空如也…为什么呢,你刷新一下就知道了。

啪,很快啊,一下给我窜出来这么多数据,那么哪些才是我们要的呢?
虽然很不想直接把答案告诉你,但是我不告诉你的话,估计你能找一年。
来来来,拿起小本本记笔记啊,给你分析分析:首先我们要实现翻译功能的话,是不是先选好翻译的类型,输入好要翻译的文本,然后点击那个翻译的按钮呢?

点了之后,应该就会给服务器发送请求,然后服务器再把翻译的结果返回过来,显示到我们的屏幕里,对吧。
那么我们就可以叫它动态响应,对吧。

注意看这里,用红框框框起来的地方,就是专门捕获动态响应数据的地方!
不要纠结为什么,这就跟你去医院看指示图,但是不会纠结为什么某个科室在某个地方一样。
但是点开后发现,空空如也……
是哪里出了问题吗?
当然不是,是因为我们还没有点击翻译!!
点完后……

啪的一下,又很快啊,出来一个东西!
话不多说,赶紧点开,有总比没有好。
这个时候我们就发现了真正的url!也就是说,我们成功地把它扒 光 啦 ~

这个url,就是我们需要的功能的url,懂了嘛,是翻译这个功能的url。
这个网站有价值的地方,也就是翻译功能了吧,hhh

接下来往下翻一翻,找到这个Request Headers栏,不知道单词啥意思?这不是有现成的翻译吗,直接用呗,不光要扒光你,还要当着你的面羞辱你~
请求索取得到
就是说返回来的数据,是json格式的,如果你要问后面还有个text,那就说明返回的值有两种形式,都可以试一下,不同网站有不同的类型,越高级的网站加密的就越复杂。
这里小泽已经帮大家试过啦,返回的值时json类型的,所以到时候我们直接用json解码就好啦。

再往下翻,会发现有个From Data,这个东西就是发送给服务器的参数,比如里面的hello,还有zh,en,其实仔细想想就会发现,zh是中文的意思,en是英语的意思,english嘛~然后w里面的就是我们要翻译的东西了,那么如果我们把f和t的参数反过来,是不是就变成了汉译英呢?答案是是的!
切记,这组数据是用字典封装的,我们先把它弄到pycharm里~

date = {'f': 'zh','t': 'en','w': 'hello'
}

至于为什么要加引号,加逗号,就属于基础部分啦,百度一下python字典应该就能get到相关知识。
好嘞,分析完了,接下来就验证一下我们的想法是不是对的吧!

step2

# 引用requests模块和json模块,为了解码
import requests
import json
# 指定我们刚才辛辛苦苦找到的url
url = 'http://fy.iciba.com/ajax.php?a=fy'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
word = input('请输入要翻译的英语:')
date = {'f': 'zh','t': 'en','w': word
}

上述代码中,我用input实现了一个动态翻译的效果,你也可以多加两个input来实现自行选择翻译语种,具体每种语言的代号就自己去抓包工具里找哦~
接下来的操作,不要问为什么,好好看好好学。

# .content是转成二进制的意思 .decode()是指定编译格式,默认编码为字符串编码
response = requests.post(url=url,data=date,headers=header).content.decode()
# 用json模块的loads实现把爬下来的数据转换成我们能看懂的数据
# 这里大家可以打印一下response看一看数据就知道了~要多实践哦
a = json.loads(response)['content']
b = a['word_mean']
print('---------------------------------------------')
for i in b:print(i)
print('---------------------------------------------')
print('翻译完成!')

至于为什么要[‘content’]和[‘word_mean’],是因为爬取下来的是一个字典,我们需要的翻译在字典的字典里,经典套娃…然后再遍历出我们要的翻译。
每进行一步都可以把数据打印出来看看,要养成动手的好习惯。
然后这个翻译器就做完啦~

点进来嘛

呼~看到这里的你也很棒哦!

在这里小泽希望大家学习的不是照着代码抄下来就可以了,是要学思维方式,就像比喻成扒衣服,抢银行一样, 要有理有据,有根据,有了思路才好根据我们的步骤一步一步去找解决方法,方法总比困难多,祝大家遇到不会的都能马上百度到喽。
看到这里啦,不来个点赞,收藏,关注嘛~

另外,交流群:

绝对没广告!!只有爱学习的单身汉!!!

各位衣食父母早点睡哦~
保护好自己的头发!

一起学爬虫(Python) — 04相关推荐

  1. 老司机带你学爬虫——Python爬虫技术分享

    什么是"爬虫"? 简单来说,写一个从web上获取需要数据并按规定格式存储的程序就叫爬虫: 爬虫理论上步骤很简单,第一步获取html源码,第二步分析html并拿到数据.但实际操作,老 ...

  2. 01-为什么要学爬虫-python小白爬虫入门教程

    学习目的以及需求 需求来自于:抓取的某个网站或者某个应用的内容,提取有用的价值 实现手段 模拟用户在浏览器或者应用(app)上的操作,实现自动化的程序 爬虫应用场景(利用爬虫能做什么?) 大家最熟悉的 ...

  3. 一木.溪桥学爬虫-04:requests模块

    一木.溪桥 在Logic Education跟Jerry学爬虫 07期:Python 爬虫 一木.溪桥学爬虫-04:requests模块.cookie.session 日期:2021年1月31日 学习 ...

  4. python初学者web还是爬虫-还在纠结学爬虫还是数据分析,不如看看这篇文章

    原标题:还在纠结学爬虫还是数据分析,不如看看这篇文章 身为职场人,收集上万条表格数据做商业分析,裁剪上千张图片,发送数百封邮件...这些都是经常会遇到的场景.我一直期待能有个工具解放我,直到我遇到了P ...

  5. python好学嘛-爬虫Python入门好学吗?学什么?

    爬虫Python入门好学吗?学爬虫需要具备一定的基础,有编程基础学Python爬虫更容易学.但要多看多练,有自己的逻辑想法.用Python达到自己的学习目的才算有价值.如果是入门学习了解,开始学习不难 ...

  6. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城-Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫:- 定义调度器- 定 ...

  7. python是什么意思中文、好学吗-爬虫Python入门好学吗?学什么?

    爬虫Python入门好学吗?学爬虫需要具备一定的基础,有编程基础学Python爬虫更容易学.但要多看多练,有自己的逻辑想法.用Python达到自己的学习目的才算有价值.如果是入门学习了解,开始学习不难 ...

  8. 从业老学姐Python经验分享,别再相信培训机构“爬虫好学”的鬼话了,少走弯路!

    嗨~我是小鱼 前言 相信很多小伙伴在学习编程时都会去网络上搜索资料,寻找一些前辈的学习方法.这样的开始未尝不可,但是,在搜索的过程中你会惊讶的发现,网络上铺天盖地的"三个月速成python& ...

  9. 一起学爬虫(Python) — 10

    一起学爬虫(Python) - 19 年轻人,进来学自动化 高效爬取美丽的图片 任务目标 任务流程 step1:复制 step2:粘贴 step3:重学异步 什么是异步 勤奋的小明 理解小明 理解~~ ...

  10. Python爬虫是个啥?学了Python爬虫有什么用?

    什么是Python爬虫 Python爬虫即使用Python程序开发的网络爬虫(网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.爬虫指一段自动抓取互联网信息的程序,从互 ...

最新文章

  1. Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块
  2. C# 模板编程相关学习总结
  3. 部署WAR包实时查看Tomcat的状态和日志
  4. C++中public,protected,private派生类继承问题和访问权限问题
  5. 【数据结构与算法-java实现】三 Java数组类实现
  6. CAS 5.1.x 的搭建和使用(四)—— 配置使用HTTP协议访问的服务端
  7. Linux下如何查看高CPU占用率线程 专题
  8. 【发表案例】JCR1区计算机测量类SCI,仅3个月录用
  9. 排序之插入排序(二分法)
  10. h5前端 调用手机通讯录
  11. AI教育甚嚣尘上,“松鼠”、“小猿”们能否重塑教育形态?
  12. abbyyfinereader文字识别软件编辑Pdf教程序列号教程
  13. 3-JS-数据类型-数组
  14. 英语句子成分后置定语语法归纳
  15. 在终端里面测试你的的打字速度
  16. oracle分区备份,oracle分区表备份,只还原1个分区
  17. Android无线WiFi调试项目adbwifi摆脱数据线拔插烦恼无轻松远程调试
  18. C语言005:常见例题
  19. JAVA zip 压缩包 导出
  20. 吴穹:金融行业已来到全面推行数字化研发管理的时点

热门文章

  1. 《供应链管理》(一)-刘宝红
  2. POJ 3253.Fence Repair
  3. Windows Server2012 服务器修改密码过期时间
  4. C++之线程信号量机制
  5. 通用软件产品的漏洞数量排名
  6. 利用Shader Forge 做出树叶摆动的效果2DSprite__Unity
  7. 怎样解决Mac电脑键盘上的大写锁定键灯不亮?
  8. 黑龙江大学计算机科学技术学院软件学院青年志愿,计算机科学技术学院、软件学院青年志愿者协会2017年暑期三下乡宣誓大会...
  9. 考研专业课——845自动控制原理(一)
  10. python 实现图片转视频