daduryi

一、下载一只猫

import urllib.request

response = urllib.request.urlopen("http://cdn.duitang.com/uploads/item/201111/24/20111124222137_wHYwc.jpg")
cat_img = response.read()

with open(\'cat_0.jpeg\', \'wb\') as f:
    f.write(cat_img)

 

urlopen()中的url可以是string,也可以是request object,因此可以是:

import urllib.request

req = urllib.request.Request("http://cdn.duitang.com/uploads/item/201111/24/20111124222137_wHYwc.jpg")
response = urllib.request.urlopen(req)
cat_img = response.read()

with open(\'cat_0.jpeg\', \'wb\') as f:
    f.write(cat_img)

 

response.geturl()得到url地址

response.info()得到HTTPMessage对象,可以通过print()得到head信息

response.getcode()得到服务器的状态码200(正常响应)

二、利用有道词典翻译文本

<审查元素>network——preview,找到需要的path

然后切到headers——关注general、request headers(客户端发送请求的headers,服务端可以在此判断是否人为访问,User-Agent)python url/3.4、From Data、

urlopen()中data为None以get提交,有参数用post方式提交,data参数必须是一个标准格式application/x-www-form-urlencoded,可以用urllib.parse.urlencode()来将字符串转化为这个格式

import urllib.request
import urllib.parse
import json

url = \'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=http://fanyi.youdao.com/\'

data = {
\'i\':\'china\',
\'from\':\'AUTO\',
\'to\':\'AUTO\',
\'smartresult\':\'dict\',
\'sign\':\'cf928c9af5dc3731276ad09db002e052\',
\'client\':\'fanyideskweb\',
\'salt\':\'1494249290636\',
\'doctype\':\'json\',
\'version\':\'2.1\',
\'keyfrom\':\'fanyi.web\',
\'action\':\'FY_BY_CLICKBUTTON\',
\'typoResult\':\'true\'
}

data = urllib.parse.urlencode(data).encode(\'utf8\')
response = urllib.request.urlopen(url, data)
html = response.read().decode(\'utf-8\')

print(html)    #发现是json格式

target = json.loads(html)

print(target)   #打印还原的json

 但是当客户端码是python,并且当一个ip访问太多后,服务器会拉黑ip!

 

分类:

技术点:

相关文章: