首页 > 代码库 > python:爬虫1——实战(下载一张图片、用Python模拟浏览器,通过在线的有道词典来对文本翻译)
python:爬虫1——实战(下载一张图片、用Python模拟浏览器,通过在线的有道词典来对文本翻译)
一、下载一只猫
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!
python:爬虫1——实战(下载一张图片、用Python模拟浏览器,通过在线的有道词典来对文本翻译)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。