###########网页爬虫###########
## 对于爬虫的理解
## 何为爬虫
通俗来说就是通过爬虫的一系类方法来获取一个网页上相关的信息(如 图片、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