Python之网页爬虫urllib模块

本文介绍了Python中的网页爬虫urllib模块,包括爬虫的理解、网页抓取的基本方法、反爬虫策略(如伪装成浏览器和使用IP代理)、保存及处理cookie信息以及常见异常处理。还讲解了Url解析的使用。
摘要由CSDN通过智能技术生成

###########网页爬虫###########

 

 

## 对于爬虫的理解

 

## 何为爬虫

通俗来说就是通过爬虫的一系类方法来获取一个网页上相关的信息(如 图片、url、视频、文件等)保存在本地

 

##浏览网页时历经的过程

浏览器(请求request) ---输入URL地址(如(http://www.baidu.com/index.html file:///mnt  ftp://172.25.254.40等)

http协议确定,www.baidu.com访问的域名确定 --- DNS服务器解析到IP地址---确定要访问的内容后将获取的页面内容返回给浏览器(响应过程)

 

## 爬去网页

 

## 基本方法

from  urllib import  request
from urllib.error import URLError

from urllib import request
from urllib.error import URLError

try:
    response = request.urlopen('http://www.baidu.com', timeout=10)
    content = response.read().decode('utf-8')
    print(content)
except URLError as e:
    print(e.reason)

 

## 使用Requset对象 (可以添加其它头部信息)

from urllib import request
from urllib.error import URLError

url = 'http://www.cbrc.gov.cn/chinese/jrjg/index.html'
# 头部信息的返回值时一个字典 我们通过网页的审查元素来获取并保存在一个字典当中
headers = {'User-Agent':"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"}
try:
    # 实例化request对象,可以自定义请求的头部信息
    """
    class Request:

    def __init__(self, url, data=None, headers={},
                 origin_req_host=None, unverifiable=False,
                 method=None):
    """
    req = request.Request(url, headers=headers)
    # urlopen不仅可以传递url地址,也可以传递request对象
    content = request.urlopen(req).read().decode('utf-8')
    print(content)
except URLError as e:
    print(e.reason)
else:
    print('success')

 

## 后续添加头部信息

from urllib import request
from urllib.error import URLError

url = 'http://www.cbrc.gov.cn/chinese/jrjg/index.html'
user_agent = "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
# # 头部信息的返回值时一个字典 我们通过网页的审查元素来获取并保存在一个字典当中
# headers = {'User-Agent':"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"}
# try:
#     # 实例化request对象,可以自定义请求的头部信息
#     """
#     class Request:
#
#     def __init__(self, url, data=None, headers
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值