Python3 网络爬虫(一) urllib模块

通过urllib内置模块直接获取页面html数据,利用程序执行HTTP请求。

Urllib分为四个模块
urllib.request 请求模块
urllib.error 异常处理模块 比如404
urllib.parse url 解析模块
urllib.robotparser robots.txt解析模块

写一个简单的例子:

from urllib import request
from urllib import error
user_agent = 'M*533.1'
cookie = '***'
headers = {
    'User-Agent':user_agent,
    'Cookie': cookie
}

url = "https://***.com/"
req = urllib.request.Request(url, headers=headers)
    try:
        response = request.urlopen(req)
        data = response.read()
        page = data.decode('utf-8')
        print (page)
    except error.HTTPError as e:
        print('HttpError', e.code)
    except error.URLError as e:
        print ('URLError', e.reason)

常见问题:
1.浏览器模拟,设置User-Agent
2.需要Cookie,维持登陆用户信息
3.需要设置Referer,解决“反盗链”
4.HTTPError和URLError同时捕获异常,需要将HTTPError放在URLError的前面,因为HTTPError是URLError的子类。URLError放在前面会先响应URLError,这样HTTPError就无法捕获错误信息。

Reference:
http://blog.51cto.com/shangdc/2090763

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值