此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
本人博客所有文章纯属学习之用,不涉及商业利益。不合适引用,自当删除!
若被用于非法行为,与我本人无关

Python爬虫学习|实例练手|爬取百度翻译

  • 情况说明
  • 代码分析
  • 代码展示
  • 运行结果

情况说明

  • 百度翻译存在一定的反爬机制
  • 直接访问会显示浏览器版本过低,建议升级,其实是爬取给发现了
  • 简简单单的使用requests可能没有办法获取到我们想要的东西,没去深入探究requests可不可以
  • 正好最近看了selenuim就动手实操一下
  • 关于selenuim的基础学习和安装在这儿

代码分析

  • 平平无奇引用库和headers
from lxml import etree
from selenium import webdriverheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0'}
  • 不打开浏览器窗口进行webdriver使用
def get_baidu_translation():option = webdriver.ChromeOptions()option.add_argument("headless")driver = webdriver.Chrome(chrome_options=option)
  • 使用建立好的driver对象进行网页获取,将输入的内容使用url传参
 what=input("请输入翻译内容(支持中英互译):")url = 'http://fanyi.baidu.com/#en/zh/{}'.format(what)driver.get(url)
  • 页面解析获取相应的内容
html = driver.page_sourcetrees = etree.HTML(html)WHAT = trees.xpath('//*[@id="main-outer"]/div/div/div[1]/div[2]/div[1]/div[2]/div/div/div[1]/p[2]/span/text()')
  • 主函数逻辑

if __name__ == "__main__":while(1):get_baidu_translation()b = input("输入0继续查询,输入1退出查询:")if(b=='1'):break

代码展示

from lxml import etree
from selenium import webdriverheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0'}def get_baidu_translation():option = webdriver.ChromeOptions()option.add_argument("headless")driver = webdriver.Chrome(chrome_options=option)print("=" * 100)what=input("请输入翻译内容(支持中英互译):")url = 'http://fanyi.baidu.com/#en/zh/{}'.format(what)driver.get(url)html = driver.page_sourcetrees = etree.HTML(html)WHAT = trees.xpath('//*[@id="main-outer"]/div/div/div[1]/div[2]/div[1]/div[2]/div/div/div[1]/p[2]/span/text()')print("翻译结果为:"+WHAT[0])if __name__ == "__main__":while(1):get_baidu_translation()b = input("输入0继续查询,输入1退出查询:")if(b=='1'):break

运行结果

从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|相关推荐

  1. 从入门到入土:Python爬虫学习|实例练手|爬取猫眼榜单|Xpath定位标签爬取|代码

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  2. 从入门到入土:Python爬虫学习|实例练手|爬取新浪新闻搜索指定内容|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  3. 从入门到入土:Python爬虫学习|实例练手|爬取百度产品列表|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  4. 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  5. 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  6. python爬虫高级教程,JS逆向之百度翻译

    环境 python版本号 系统 游览器 python 3.7.2 win7 google chrome 关于本文 本文将会通过爬虫的方式实现简单的百度翻译.本文中的代码只供学习,不允许作为于商务作用. ...

  7. python爬虫教程,带你抓取百度的高清摄影图片

    python爬虫教程,带你抓取百度的高清摄影图片 源码分享: ''' 在学习过程中有什么不懂得可以加我的 python学习交流扣扣qun,934109170 群里有不错的学习教程.开发工具与电子书籍. ...

  8. python爬百度翻译-Python爬取百度翻译(利用json提取数据)

    本篇文章给大家带来的内容是关于Python爬取百度翻译(利用json提取数据),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 工具:Python 3.6.5.PyCharm开发工具. ...

  9. 求解Python 爬取百度翻译手机版{errno:997,from:zh,to:en,query:\u4eba\u751f\u82e6\u77ed}怎么办

    环境:python3.7.3 import requestsurl = "https://fanyi.baidu.com/basetrans" data = {"quer ...

最新文章

  1. Python列表List
  2. antd design form表单手动处理错误
  3. python创建空txt文件_python创建txt文件
  4. python面试技巧_经典7大Python面试题!看完考官竟然给了我30k的薪资
  5. [20150204]关于位图索引4.txt
  6. Winform 定时器
  7. 微信小程序 后端接口(thinkphp)
  8. macbook linux 双系统,mac上安装ubuntu双系统教程
  9. Linux 文件的打包与压缩
  10. NR 5G: Relaxed measurement
  11. 国庆专属头像、国旗专属头像一键生成源代码
  12. Perl中Data::Dumper模块用法
  13. 关闭webstorm提示 empty tag doesn't work in some browsers
  14. 如何成为一名程序员?
  15. 五位一体信息化管理平台:提升化工企业安全信息化、网格化和数字化监管能力
  16. 【玩转微信公众平台之二】 账号注册
  17. SRAM SROM DRAM DROM DDR NAND FLASH EMMC的区别
  18. NUMA为何成为云计算的关键技术
  19. 反思|开启B站少女心模式,探究APP换肤机制的设计与实现
  20. 【系统分析师之路】2018年上系统分析师综合知识真题

热门文章

  1. 突击计划——给定三角形边长,求面积
  2. Altium AD20中铺铜被导线分割的解决方法,如何正确覆铜整片区域
  3. c/c++教程 - 2.4.2.3~4 拷贝构造函数的调用时机,构造函数调用规则
  4. 剑指offer——4.二维数组中的查找
  5. 集成微信支付的代码。兼容小程序,扫码,app,公众号。h5 支付 ,以及 服务商提现...
  6. Android:Service通知Activity更新界面
  7. python 解析命令行
  8. urllib2 request 模拟伪装浏览器
  9. ZooKeeper在分布式应用中的作用
  10. 软件工程第一周预备作业