1.下载一张图片代码1

import urllib.request

response = urllib.request.urlopen('http://photocdn.sohu.com/20100906/Img274741430.jpg')

image = response.read()

with open('D:\\cat_200_300.jpg','wb') as f: #打开文件
f.write(image) #写入文件

2.下载一张图片代码2

import urllib.request

request = urllib.request.Request('http://photocdn.sohu.com/20100906/Img274741430.jpg')
response = urllib.request.urlopen(request) image = response.read() with open('D:\\cat_200_300.jpg','wb') as f:
f.write(image)

3.获取请求的url

> request.get_full_url()
'http://photocdn.sohu.com/20100906/Img274741430.jpg

4.获取响应码

response.getcode()
200

5.获取响应信息

response.info()
<http.client.HTTPMessage object at 0x03015850>
>>> print(response.info())

Server: Tengine
Content-Type: image/jpeg
Content-Length: 32052
Connection: close
Date: Wed, 11 Oct 2017 02:59:56 GMT
Last-Modified: Mon, 06 Sep 2010 08:27:47 GMT
Expires: Tue, 09 Jan 2018 02:59:56 GMT
Cache-Control: max-age=7776000
X-RS: 34079416.44499832.45112407
X-RS: 10888362.20063412.11942198
FSS-Cache: MISS from 6562920.11412594.7616690
FSS-Proxy: Powered by 6497640.11281778.7551665
Accept-Ranges: bytes
Via: cache14.l2et15-2[0,200-0,H], cache18.l2et15-2[1,0], cache2.cn869[80,200-0,M], cache9.cn869[81,0]
Age: 7118675
X-Cache: MISS TCP_MISS dirn:-2:-2 mlen:-1
X-Swift-SaveTime: Mon, 01 Jan 2018 12:24:31 GMT
X-Swift-CacheTime: 657325
Timing-Allow-Origin: *
EagleId: 767b029d15148094715568685e

6.访问有道词典查询单词

import urllib.request
import urllib.parse url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data = {}
data['i'] = 'I love you'
data['type'] = 'AUTO'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['typoResult'] = 'true' data = urllib.parse.urlencode(data).encode('utf-8') response = urllib.request.urlopen(url,data) html = response.read().decode('utf-8') print(html)

7.结果json数据

{"type":"EN2ZH_CN","errorCode":0,"elapsedTime":1,"translateResult":[[{"src":"I love you","tgt":"我爱你"}]]}

8.处理查询的数据,将json转化为字典

import json
target =  json.loads(html)
{'type': 'EN2ZH_CN', 'errorCode': 0, 'elapsedTime': 1, 'translateResult': [[{'src': 'I love you', 'tgt': '我爱你'}]]}

9.获取翻译的数据

target['translateResult'][0][0]['tgt']

10.有道词典

import urllib.request
import urllib.parse
import json while True:
text = input('请输入要翻译的文字:')
if text == 'exit':
break url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data = {}
data['i'] = text
data['type'] = 'AUTO'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['typoResult'] = 'true' data = urllib.parse.urlencode(data).encode('utf-8') response = urllib.request.urlopen(url,data) html = response.read().decode('utf-8') target = json.loads(html) print(target['translateResult'][0][0]['tgt'])
print('输入exit退出程序!')

'我爱你'

代理

Python下载一张图片与有道词典的更多相关文章

  1. 如何用python下载一张图片

    如何用python下载一张图片 这里要用到的主要工具是requests这个工具,需要先安装这个库才能使用,该库衍生自urllib这个库,但是要比它更好用.多数人在做爬虫的时候选择它,是个不错的选择. ...

  2. python学习笔记:"爬虫+有道词典"实现一个简单的英译汉程序

    1.有道的翻译 网页:www.youdao.com Fig1 Fig2 Fig3 Fig4 再次点击"自动翻译"->选中'Network'->选中'第一项',如下: F ...

  3. Ubuntu14.04安装有道词典

    Ubuntu14.04安装有道词典之前要更新系统: sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 在有道官网下载 ...

  4. 调用网易有道词典api

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #调用网易有道词典api import urllib import json class Youdao(): ...

  5. python:爬虫1——实战(下载一张图片、用Python模拟浏览器,通过在线的有道词典来对文本翻译)

    一.下载一只猫 import urllib.request response = urllib.request.urlopen("http://cdn.duitang.com/uploads ...

  6. python "爬虫+有道词典"实现一个简单翻译程序

    抓包软件使用的是Fiddler4 新版的查询接口 比较负责,引入了salt和sign http://fanyi.youdao.com/translate?smartresult=dict&sm ...

  7. 使用python拼接多张图片.二三事

    前几日在博客上看到一篇“使用python拼接多张图片”的Blog[具体是能将的图片名字必须是形如xx_1.png ... xx_100.png或者xx_001.png ... xx_100.png,拼 ...

  8. 基于pygtk的linux有道词典

    基于pygtk的linux有道词典 一.桌面词典设计 想把Linux用作桌面系统,其中一部分障碍就是Linux上没有像有道一样简单易用的词典.其实我们完全可以自己开发一款桌面词典, 而且开发一款桌面词 ...

  9. ubuntu14.04 下安装有道词典

    安装步骤 1.ubuntu14.04.1版本下是不能直接安装有道词典的,首先需要把14.04.版升级为14.04.2版. 在终端窗口中输入以下命令: sudo apt-get update sudo ...

随机推荐

  1. 秒表计时器以及Stopwatch

    Stopwatch:秒表计时器,用来记录程序的运行时间,通常用来测试代码在时间上的执行效率.(需要引用:System.Diagnostics.) Stopwatch sw=new Stopwatch( ...

  2. laravel5.3统计 withCount()方法的使用

    在laravel5.3之后可以使用withCount()这个方法. 注意:一定要是5.3版本之后,5.2和5.1都会报方法未定义 举个栗子: App\Post::withCount('comments ...

  3. python并发编程之多进程二

    一,multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程.P ...

  4. 基于 HTML5 Canvas 的 3D 模型列表贴图

    少量图片对于我们赋值是没有什么难度,但是如果图片的量大的话,我们肯定希望能很直接地显示在界面上供我们使用,再就是排放的位置等等,这些都需要比较直观的操作,在实际应用中会让我们省很多力以及时间.下面这个 ...

  5. 项目实战6—Mysql实现企业级日志管理、备份与恢复实战

    Mysql实现企业级日志管理.备份与恢复实战 环境背景:随着业务的发展,公司业务和规模不断扩大,网站积累了大量的用户信息和数据,对于一家互联网公司来说,用户和业务数据是根基.一旦公司的数据错乱或者丢失 ...

  6. 50个php程序性能优化集锦

    1. 用单引号代替双引号来包含字符串,这样做会更快一些.因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数的" ...

  7. javascript设计模式——发布订阅模式

    前面的话 发布—订阅模式又叫观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在javascript开发中,一般用事件模型来替代传统的发布—订阅模 ...

  8. 【技能大赛笔记01】Zigbee点对点按键控制程序开发

    [技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...

  9. 从头认识Spring-2.7 自己主动检測Bean(2)-过滤器&lt;context:include-filter/&gt;

    这一章节我们来讨论一下过滤器<context:include-filter/>的使用. 1.domain Person接口: package com.raylee.my_new_sprin ...

  10. Codeforces 149 E. Martian Strings

    正反两遍扩展KMP,维护公共长度为L时.出如今最左边和最右边的位置. . .. 然后枚举推断... E. Martian Strings time limit per test 2 seconds m ...