1 # -*- coding: utf-8 -*-
  2 """
  3 Created on Thu Oct 18 09:13:32 2018
  4
  5 @author: Gawen
  6
  7 实现爬取IEEE目标网页上该页所有论文的摘要
  8 并通过百度翻译api进行翻译
  9 并将链接与翻译后的摘要存到文本文档中
 10 其中百度的api的appid以及secertkey需要自己申请
 11 每月有200万字符的免费额度
 12 python版本3.6
 13 需要的包:selenium
 14 需要的软件:chrome-driver
 15 """
 16 #example url https://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8360187&punumber=8360187&filter=issueId%20EQ%20%228363090%22&pageNumber=9&pageNumber=10
 17 import requests
 18 from bs4 import BeautifulSoup
 19 from selenium import webdriver
 20 import time
 21 from selenium.webdriver.chrome.options import Options
 22 import hashlib
 23 import urllib
 24 import random
 25 import json
 26
 27
 28 def writetxt(file,url,abstract):
 29     with open(file, 'a', encoding='GBK') as file_txt:
 30         file_txt.write('链接:\n'+url)
 31         file_txt.write('\n')
 32         file_txt.write('摘要:\n'+abstract)
 33         file_txt.write('\n')
 34         file_txt.write('\n')
 35
 36
 37 def trans(q):
 38         appid = ''#你自己的百度翻译appid
 39         secretkey = ''#你自己的百度翻译secretkey
 40         myurl = '/api/trans/vip/translate'
 41         fromLang = 'en'
 42         toLang = 'zh'
 43         salt = random.randint(32768,65536)
 44         sign = appid + q + str(salt) + secretkey
 45         sign = hashlib.md5(sign.encode(encoding = 'utf-8')).hexdigest()
 46         myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign
 47         print(myurl)
 48         try:
 49                 r = requests.get('http://api.fanyi.baidu.com'+myurl)
 50                 print(r.content.decode('utf-8'))
 51         except Exception as e:
 52                 print(e)
 53         html = r.content.decode('utf-8')
 54         soup = BeautifulSoup(html,'lxml')
 55         text = soup.find('p').text
 56         text_dict = json.loads(text)
 57         if ('error_code' in text_dict.keys()):
 58                 return 'error'
 59         return text_dict['trans_result'][0]['dst']
 60
 61
 62 url = input('please input the url that you want to download:\n')
 63 fore = 'https://ieeexplore.ieee.org'
 64 r = requests.get(url)
 65 html = r.content.decode('utf-8')
 66 soup = BeautifulSoup(html,'lxml')
 67 h3 = soup.find('div', class_='cf jrnl-results-filter').find_all('h3')
 68 h3text = []
 69 errtitle = []
 70 links = []
 71 for h in h3:
 72     h3text.append(h.text.strip())
 73 print(h3text)
 74 for i in range(len(h3text)):
 75     if ((soup.find('a', attrs={'aria-label':'View HTML:  ' + h3text[i]}))==None):
 76         errtitle.append(h3text[i])
 77         continue
 78     href = (soup.find('a', attrs={'aria-label':'View HTML:  ' + h3text[i]})['href'])
 79     links.append(fore + href)
 80 print(links)
 81 chrome_options = Options()
 82 chrome_options.add_argument('--headless')
 83 chrome_options.add_argument('--disable-gpu')
 84 driver = webdriver.Chrome(chrome_options=chrome_options)
 85 count = 0
 86 for link in links:
 87     driver.get(link)
 88     driver.implicitly_wait(20)
 89     ps = driver.page_source
 90     lsoup = BeautifulSoup(ps,'lxml')
 91     abstract = lsoup.select('body > div > div > div > div > div > div > xpl-root > xpl-document-details > div > div > div > div > section > div > div > xpl-document-abstract > section > div > div > div > div > div')[0].text
 92     abstract = trans(abstract)
 93     if(abstract=='error'):
 94             errtitle.append(link)
 95             continue
 96     writetxt(r'C:\Users\Gawen\Desktop\abstract.txt',link,abstract)#输出路径
 97     count += 1
 98     print(count)
 99     time.sleep(5)
100 driver.close()
101 print("共有"+str(len(errtitle))+"篇论文下载失败")
102 for err in errtitle:
103     print(err)
104
105
106     

转载于:https://www.cnblogs.com/gawen4/p/9870330.html

IEEE爬取摘要并翻译成中文相关推荐

  1. 爬虫实践:爬取有道翻译(附带UI界面)

    1.爬取分析 实现一键翻译功能,最简单的方案当然是我们的爬虫啦,这里,我选择的是 有道翻译 这个页面,在左边输入文字,那么浏览器会把你输入的信息传输给服务器.再返回对应的内容.这就是一个典型的Post ...

  2. python爬取有道翻译

    python爬虫爬取有道翻译教程 编写环境 为了宝宝们能够正确读懂本教程,在正式开始前,宝宝们需要搭建的环境如下: 连接互联网的win10电脑,(win7也可以) Google浏览器(版本无要求) P ...

  3. access百度翻译 get_【Access示例】英文翻译成中文

    时 间:2019-10-29 20:21:41 作 者:摘 要:做了一个英文翻译成中文的示例,分享给大家,代码也比较简单,示例是取的有道词典的数据,示例运行必须联网. 正 文: 主要代码: On Er ...

  4. 整站翻译,英文网页批量翻译成中文

    怎么将整站英文网页翻译成中文,需要将整个网站的英文内容进行批量翻译成中文需要分两步进行,首先是对整个网站页面进行抓取,其次是对抓取的页面进行批量中文翻译.通过SEO内容处理工具我们可以轻松实现这个操作 ...

  5. 我是如何将2千万StackOverflow问答翻译成中文的?

    大家好!大家觉得如果需要翻译SO上全部问答可以怎么做呢?我讲讲我是怎么的,大家看看做得怎么样. 自我介绍 我是一名有10年开发经验的老程序员.做过大数据,做过Java程序员,也做过算法工程师,目前是一 ...

  6. 学术不端网查重靠谱吗_毕业论文查重把知网上的英文文章翻译成中文可以吗

    据说CNKI中国知网5.0就已经添加了中英文互译检测.简单百度一下发现学术不端网有关于:知网查重能否查英文论文呢?英语论文翻译过来查重能过吗?等等这样关于知网查重系统和英文文献的问题有很多.我现在用的 ...

  7. 腾讯翻译君在线翻译怎么翻译整个文件_藏语怎么翻译成中文?这两方法非常好用...

    就算你真的不会翻译,掌握一些翻译方法还是非常有必要的.因为有时候我们会遇到一些比较特殊的语言,比如说藏语.藏语怎么翻译成中文呢?如果你不知道,那么这两种翻译方法,你值得拥有. 一.工具翻译 工具:文档 ...

  8. 中文乱码翻译器在线翻译_如何将芬兰语翻译成中文?这两种方法你得会

    我们在工作中有时候也会接触得到一些特殊的任务.举个例子,如果哪天上级让我们翻译芬兰语,若是不会翻译就很尴尬了.该怎么办呢?如何将芬兰语翻译成中文呢?这里小编想要推荐给大家两个比较好用的方法,有需要的小 ...

  9. 怎样把PDF翻译成中文

    很多大学里面的宝宝们在写论文的时候经常需要翻译PDF文件的操作,因为写论文的时候需要大量参考一些外国文献,那怎样把PDF翻译成中文呢. 进入浏览器,打开百度首页,搜索迅捷PDF在线转换器. 打开转换器 ...

  10. word如何翻译成中文?Word翻译成中文的方法分享

    word如何翻译成中文?相信小伙伴们对word文档都不太陌生,我们日常上班或者上学多多少少都需要接触到这种文档,word操作简单,而且方便,但是唯一有点不好的就是,一旦对方给我们传送外文文档,是没发直 ...

最新文章

  1. 【C++】C/C++ 中default/delete特性
  2. HashMap之微代码解析-总结整理
  3. 21天精通python-21天学通Python 完整pdf扫描版[58MB]
  4. 1.14 Java注释:类、方法和字段注释
  5. rac环境改动spfile后遭遇ora-29250小例
  6. 452 Minimum Number of Arrows to Burst Balloons
  7. Oracle学习笔记:备份、还原、恢复的一点理解
  8. 校园宿舍管理系统课程设计报告
  9. 硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区,电脑启动过程...
  10. (转)openlayers实现在线编辑
  11. oracle中以dba_、user_、v$_、all_、session_、index_开头
  12. soltrace教程(3)基本使用
  13. 流言终结者: AWR的保留天数和SYSAUX表空间的使用率有关吗?
  14. 花生壳:域名诊断—客户端离线
  15. 学计算机每天应该吃什么,长期坐在电脑前的上班族吃什么食物好
  16. 高职医学计算机考试科目一模拟试题,医学影像技术考试题库
  17. 输入两个实数,用一个函数求出它们之和
  18. linux 搭建mqtt服务
  19. 如何取汉字的第一个拼音字母(一)
  20. 楼宇控制系统发展过程

热门文章

  1. NOJ [F] 懒惰的风纪委Elaine 求一堆数能组成多少个数小于等于n
  2. mysql admin账号密码忘记_使用mysqladmin命令修改Mysql密码与忘记密码
  3. 湖北湖南广州计算机科学大学排行,校友会2018中国大学计算机类专业排名
  4. 斯坦福大学java视频_iPhone应用开发视频教程-斯坦福大学公开课
  5. TMS320F2837x开发例程使用手册(3)
  6. Android中浏览PDF文件
  7. python 循环语句 教学设计_pythonwhile循环教案
  8. jsp酒店客房预订系统带前端
  9. 哦,梦想--我的语录
  10. 计算机平面设计大专学校排名,平面设计学校排名哪些较好?