上篇文章地址:https://blog.csdn.net/BanTanger/article/details/122233914
编译器:pycharm
python版本:python3
所需模块:(python标准库函数,无需安装,直接调用)
from urllib import request 向互联网发送申请响应的模块
import urllib.request == from urllib import request 但后者书写函数更加方便。
涉及使用函数: Request(), urlopen()
request = request.Request(url = {},headers = {})
respond = request.urlopen(request)
read().decode() 配合使用
{}代表传递参数,用户自定义数据,
url = 所需要爬取的网址,headers = 需要伪装的User-Agent信息。
Request()函数是对爬取信息进行封装,
urlopen()函数是对响应对象的回应,需要传递从Request函数返回的数据
标准格式
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'} #这里header接收的是一个字典数据,需要{},然后里面的参数要用单引号来引用。 url = 'http://www.baidu.com' req = request.Request(url = url,headers = headers) #url=是固定格式,后面的url是用户传递参数,也就是变量,headers同理 res = request.urlopen(req) #urlopen(),参数传递request,并用res变量来接收respond
爬虫代码:
""" 使用Request函数来包装,避免网站反爬,重构User-Agent """ from urllib import request url = 'https://baidu.com/' headers = {'User-Agent':' Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv,2.0.1) Gecko/20100101 Firefox/4.0.1'} # 2.包装请求 Request() req = request.Request(url=url,headers=headers) # 3.发请求 urlopen() res = request.urlopen(req) # 4.获取响应内容 html = res.read().decode('utf-8') print(html) """ 请求网站三步走 --构造请求对象 req = request.Request(url = {},headers = {}) --获取响应内容 res = request.urlopen(req) --提取响应对象内容 html = res.read().decode() """
运行:
很nice,我们成功啦,更深知识我们下篇文章再讲
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)