1、可以查看帮助文档
#爬虫使用urllib,它是一个包,包含了4个模块:urllib.request urllib.error urllib.parse urllib.robotparser
#最重要的是urllib.request:for reading and opening URLs
import urllib.request
response=urllib.request.urlopen('http://www.Fishc.com') #访问网页的函数,其实它有多个参数
html=response.read()
print(html)
2、下面进行一幅图片的爬取
import urllib.request
response=urllib.request.urlopen('http://placekitten.com/g/500/600')
cat=response.read()
with open('cat.jpg','wb') as f: #with as 结构进行文件关闭与异常处理。
#这里的cat.jpg没有路径,则表示放在于该程序文件的同一目录下方
f.write(cat)
3、利用有道翻译对文本进行翻译
#下面通过有道词典对文本进行翻译
import urllib.request
import urllib.parse # parse库,(解析),用于解析url。用于使用urllib.parse.urlencode函数
#找到有道翻译网页,输入'hello'进行翻译,右击选择“查看元素”,在“网络”,“消息头”,“表单数据”中进行选择
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data={}#字典格式
#下面对字典进行初始化,将“表单数据”用字符形式存储在字典中
data['i']='hello'
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='15636742003312'
data['sign']='1c67f6ad04603cf424367d33bebe8b8c'
data['ts']='1563674200331'
data['bv']='e2a78ed30c66e16a857c5b6486a1d326'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_CLICKBUTTION'
# urllib.parse.urlencode(data) 用于将data转换为特定的格式
data=urllib.parse.urlencode(data).encode('utf-8') #把Unicode形式变成utf-8形式。这里'utf-8'为编码方式,python默认是unicode形式,utf-8是Unicode的一种编码方式
response=urllib.request.urlopen(url,data)#urlopen函数中,data参数有两种格式,默认为GET格式,如果赋值,则为POST格式
html=response.read().decode('utf-8') #decode解码,即把其他编码形式变成Unicode形式。
print(html)#输出为:{"type":"EN2ZH_CN","errorCode":0,"elapsedTime":1,"translateResult":[[{"src":"hello","tgt":"你好"}]]}
#这是json格式,一种轻量级的数据交换格式,前面导入json模块
4、上面的输出很不人性化,且无法对不同的内容进行翻译,下面进行优化
#下面进行优化:
import urllib.request
import urllib.parse
import json
wait_trans=input('请输入需要翻译的内容:')
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data={}
data['i']=wait_trans #这里‘i’为需要翻译的内容。注意不要写成字符串格式
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='15636742003312'
data['sign']='1c67f6ad04603cf424367d33bebe8b8c'
data['ts']='1563674200331'
data['bv']='e2a78ed30c66e16a857c5b6486a1d326'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_CLICKBUTTION'
data=urllib.parse.urlencode(data).encode('utf-8')
response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8')
json_1=json.loads(html)
print(json_1["translateResult"][0][0]['tgt'])#这里为将原来的json格式的字典进行剖析,它的字典的key: translateResult中,又包含了两层列表和一层字典
'''
运行如下:
请输入需要翻译的内容:我今天很高兴
I'm very happy today