Python 爬虫入门(一)urllib的基本使用

参考资料
1.用python开发爬虫 https://www.gitbook.com/book/germey/python3webspider/details
2.论一只爬虫的自我修养 http://blog.fishc.com/category/python/spider
3.Python爬虫学习系列教程 http://cuiqingcai.com/1052.html
4.Beautiful Soup 4.2.0 中文文档 https://wizardforcel.gitbooks.io/bs4-doc/content/
5.Requests: 让 HTTP 服务人类 http://docs.python-requests.org/zh_CN/latest/

前言:
urllib包含四个模块:

  • urllib.request可以用来发送request和获取request的结果
  • urllib.error包含了urllib.request产生的异常
  • urllib.parse用来解析和处理URL
  • urllib.robotparse用来解析页面的robots.txt文件
1. urllib.request的基本使用方法属性
1.1. 使用urllib.request.urlopen()来爬取网页
In [1]: import urllib.request
In [2]: r=urllib.request.urlopen('http://blog.fishc.com/3597.html')
In [3]: r.read().decode('utf-8')
Out[3]: '\n\n\n论一只爬虫的自我修养2:实战 – 零基础入门学习Python054 | 鱼C工作室\n\n\n

以上简单介绍urllib的简单用法,下面给出一个实战例子,交互式有道翻译请求:

import urllib.request
import urllib.parse
import json

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.google.com.hk/'
data=dict()
data['type']='AUTO'
data['i']=input("Plz input what you want to translate: ")
data['doctype']='json'
data['xmlVersion']='1.8'
data['keyfrom']='fanyi.web'
data['ue']='UTF-8'
data['action']='FY_BY_CLICKBUTTON'
data['typoResult']='true'
data=urllib.parse.urlencode(data).encode('utf-8')
# 必须对data进行转码

response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8')

target=json.loads(html)

print('翻译结果:',target['translateResult'][0][0]['tgt'])

你可能感兴趣的:(Python 爬虫入门(一)urllib的基本使用)