上代码:

 #/usr/bin/env python3
#coding=utf8from fake_useragent import UserAgent
import http.client
import hashlib
import urllib
import random,csv
import json,time
import requests#获取IP列表并检验IP的有效性
def get_ip_list():f=open('IP.txt','r')ip_list=f.readlines()f.close()return ip_list#从IP列表中获取随机IP
def get_random_ip(ip_list):proxy_ip = random.choice(ip_list)proxy_ip=proxy_ip.strip('\n')proxies = {'https': proxy_ip}return proxies#注释:a若查找不到中人名则返回a(row[6])
def getTransResult(q): type = "json"q = q.lower()myurl = 'http://dict-co.iciba.com/api/trans/vip/translate'#q = 'hello baidu trans'    #要翻译的内容myurl = "http://dict-co.iciba.com/api/dictionary.php?w="+q+"&type="+type+"&key=key"  #开发者Keyip_list = get_ip_list()proxies = get_random_ip(ip_list)headers = { 'User-Agent':str(UserAgent().random)}try:time.sleep(1)req=requests.get(myurl,headers=headers,proxies=proxies)except:print('程序出错,暂停20秒')time.sleep(20)proxies = get_random_ip(ip_list)headers = { 'User-Agent':str(UserAgent().random)}req=requests.get(myurl,headers=headers,proxies=proxies)req.encoding="utf-8"data = req.textmresult = json.loads(data)getTransResult=''try:getTransResult = mresult['symbols'][0]['parts'][0]['means'][0]except:return getTransResultprint('翻译结果为:'+getTransResult)return getTransResult#功能:读取文件并处理
def read_file(filepath):reader=[]with open(filepath,'r') as csvfile:spanreader = csv.reader(csvfile,delimiter='|',quoting=csv.QUOTE_MINIMAL)for row in spanreader:if row:reader.append(row)return reader#功能:将爬取到的内容写入文件
#注意事项:写文件时open中要加上newline='',否则写一行后程序会自动换行
def write_file(filepath,row):with open(filepath,'a+',encoding='utf-8',newline='') as csvfile:spanreader = csv.writer(csvfile,delimiter='|',quoting=csv.QUOTE_MINIMAL)spanreader.writerow(row)if __name__ == "__main__":reader = read_file('S_baiduBaike_youdaoChinese_utf-8.csv')for row in reader:if not row[6]:print('现在爬取的人名是:'+row[0])TransResult = getTransResult(row[0])if not TransResult.find('[人名]')==-1:TransResult=TransResult.replace('[人名]','')row[6] = TransResultelif not TransResult.find('[男子名]')==-1:TransResult=TransResult.replace('[男子名]','')row[6] = TransResultelif not TransResult.find('[女子名]')==-1:TransResult=TransResult.replace('[女子名]','')row[6] = TransResultwrite_file('经有道金山词霸爬取后/S_baiduBaike_youdaoChinese_jscb.csv',row)print('程序运行结束')

Python3--批量爬取数据之调金山词霸api进行翻译相关推荐

  1. Python3--批量爬取数据之调用百度api进行翻译

    上代码: #************************************************************ #文件功能:利用百度翻译将英文名翻译成中文 #********** ...

  2. akshare批量爬取数据并保存为excel格式

    作用:根据aa.txt内的代码,爬取数据,保存在以代码为名的xls文件中,注意"aa.txt"路径,路径中有"\"时,需用"\\"替代: 爬 ...

  3. python爬取cctalk视频_新媒体编辑怎么批量爬取数据

    说到数据采集,市面上很多采集工具,有商业的也有开源的各种工具,一搜一大堆,做新媒体的好不容易找到一些资料内容甚至图片,手工粘贴复制有时候很慢,一点都不友好,有没有办法能帮助新媒体从业者快速采集到想要的 ...

  4. python用akshare批量爬取金融数据并保存为excel格式

    python用akshare批量爬取数据并保存为excel格式 爬取的网站为http://vip.stock.finance.sina.com.cn/mkt/#hs_a的历史数据 首先,确定好你 下载 ...

  5. PBI培训(4):批量爬取web来源公开数据

    前言:最近项目上有爬数据需求,好在只需要公开信息,用PBI就可以搞定,故整理了一下爬数步骤,查阅了简书和知乎大佬的文章发现还是会踩坑,这里整理一版详细的记录下来方便理解. 爬数方式: 爬单页数据并做简 ...

  6. Python3.x使用Scrapy将爬取数据存储成Json

    Python3.x使用Scrapy将爬取数据存储成Json 豆瓣电影排名前250链接 https://movie.douban.com/top250 注:前提安装好python及所需的环境 1.scr ...

  7. python3 requets+re 批量爬取千千(原百度)音乐

    以前实验室同学需要文章和音乐,需要用爬虫爬.....要做东西参加比赛,表示好久都没写爬虫了....正如今天的正题,批量爬取千千音乐(原百度音乐)...博主会写下爬取的过程和心得(采坑记录),批量下载的 ...

  8. 爬虫批量保存网页html,2分钟带你学会网络爬虫:Excel批量爬取网页数据(详细图文版)...

    面对网页大量的数据,有时候还要翻页,你还在一页一页地复制粘贴吗?别人需要几小时完成的任务,学会这个小技巧你只需要几分钟就能解决.快来学习使用Excel快速批量地爬取网页数据吧! 1.分析网页数据结构 ...

  9. python3爬取数据存入mysql_Python如何爬取51cto数据并存入MySQL

    实验环境 1.安装Python 3.7 2.安装requests, bs4,pymysql 模块 实验步骤1.安装环境及模块 2.编写代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

最新文章

  1. oracle 数据精度转换,oracle数据值型数据改精度测试
  2. 获取两个数百分比的值
  3. python图画制作_用Python把照片制作成素描图片
  4. Hive 03_DML、SerDe、Beeline、JDBC
  5. Codeforces Round #263 (Div. 2) D. Appleman and Tree(树形DP)
  6. JSR303常见参数
  7. iTerm2 隐藏用户名和主机名
  8. 学python多大年龄可以学车_多大年龄可以学驾照?
  9. 计算机二级web题目(9.1)--综合选择题3
  10. mysql链路跟踪工具_EasySwoole利用链路追踪组件制作甩锅工具
  11. 化解恶劣情绪山人自有妙计
  12. Java实现hsql_java – 从类创建HSQL创建表查询
  13. android boot.img 结构,android boot.img文件结构、拆包、打包
  14. 解决echarts官网打不开访问失败问题
  15. 【资源下载】分享个嵌入式开发的入门教程(包含视频)
  16. 开启霍比特人之意外内核优化旅行 -- 专栏序言
  17. php 判断非负整数,PHP-检测负数
  18. windows无法连接到打印机_电脑、打印机常见故障处理
  19. 对话区块方舟Warren:DAO和隐私赛道被低估了 |链捕手
  20. java学籍管理系统 课程设计,Java课程设计---学生学籍管理系统

热门文章

  1. python彩色图像如何进行高斯滤波ValueError: correlate2d inputs must both be 2-D arrays解决方法
  2. mysql从库追主库日志_Mysql主库跑太快,从库追不上怎么做?
  3. php常量定义表达式,从表达式创建PHP类常量的最佳解决方法?
  4. 为什么边缘概率密度是联合概率密度的积分_德甲前瞻|柏林赫塔VS柏林联合
  5. php如何发起远程请求,PHP请求远程地址如何设置超时时间
  6. php mysql update 返回_php mysql_query增删改查(update delete insert)返回值类型
  7. usb打印机linux识别不了怎么办,win10不识别usb打印机怎么回事_win10系统不识别usb打印机如何修复-系统城...
  8. 棋盘最短路径 python_Dijkstra 最短路径算法 Python 实现
  9. volley 调用php接口,使用Volley发送帖子请求并使用PHP接收
  10. 表格布局(tablelayout)