Python爬虫 爬取翻译类网站
来源:互联网 发布:elsevier数据库网址 编辑:程序博客网 时间:2024/06/05 02:42
很多翻译网站都是一下类似的布局,如百度翻译:
当输入要翻译的内容点击翻译后,网站的URL实际上是不会变的,因为大多数翻译网站在进行这个操作的时候用到的是POST请求类型。
我以我爬过的一个日文翻译网站举例:
用Chrome查看接收的文件,这里其实就是我们每次查询发送的POST请求内容。其中timestamp,unqid都是随机的(但是在我爬去的过程中网站好像不会去认证这些),只要在代码中把每次请求加上这些内容就行了。
下面上代码:
import requestsimport lxmlfrom bs4 import BeautifulSoupurl = 'http://nihongo.j-talk.com/'def get_result(content): data = {} data['timestamp'] = '1499416657' data['uniqid'] = '48f377db0a94b119fe3870942785c1b8e0bb654b' data['kanji'] = content data['Submit'] = 'Translate Now' data['kanji_parts'] = 'unchanged' data['converter'] = 'spacedrollover' data['kana_output'] = 'katakana' response = requests.post(url,data = data) soup = BeautifulSoup(response.text,'lxml') ###分析html获得结果 big = '' if soup.findAll('trg',{'class':'trigger'}): romas = soup.findAll('trg',{'class':'trigger'}) for roma in romas: roma = roma.get_text() big += roma return big else: try: romas = soup.findAll('div',{'class':'katakana'}) for roma in romas: roma = roma.get_text() big += roma return big except: return ''inputfilepath = input('输入读取的文件路径')inputfile = open(inputfilepath,'r')outputfile = open('output'+inputfilepath,'w')lines = inputfile.readlines()for line in lines: line = line.replace('\n','') result = get_katakana(line) result1 = "%s %s\r\n" %(line,result) print(result1), outputfile.write(result1)inputfile.close()outputfile.close()
阅读全文
0 0
- Python爬虫 爬取翻译类网站
- Python爬虫爬取网站新闻
- Python开发爬虫,爬取网站
- python爬虫爬取网站图片
- Python爬虫——爬取网站的图片
- Python 爬虫学习2爬取租房网站信息
- python爬虫(8)爬取tuchong网站美图
- 用python写爬虫,爬取清纯妹子网站
- Python爬虫爬取古诗文网站项目分享
- python爬虫爬取段子
- python爬虫爬取图片
- python爬虫爬取网络小说
- Python 爬虫 爬取视频
- python爬虫爬取csdn
- 爬虫-爬取网站上的图片
- 爬虫实战--爬取juubao购物券网站
- Java爬虫爬取网站图片
- 爬虫系列5爬取网站方法
- 程序视界——聚焦程序员的
- 工作准备
- sql筛选重复数据
- CAXA
- 学习java之路
- Python爬虫 爬取翻译类网站
- SQL Server 2008附加mdf文件连接数据库18456错误
- 计算机视觉
- Java输出导致死锁,at java.io.PrintStream.println(PrintStream.java:805)
- We have the power to change the world.
- .NET4.5新特性之异步编程(Async和Await)
- 61E
- 记一款bug管理系统(bugdone.cn)的开发过程(3)
- 应用程序通过WebSocket自行推送业务消息给Subscriber的实现