Python3 notes

简介: Python3 notes

模拟头部信息

我们抓取网页一般需要对 headers(网页头信息)进行模拟,这时候需要使用到 urllib.request.Request 类:

class urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)

  • url:url 地址。
  • data:发送到服务器的其他数据对象,默认为 None。
  • headers:HTTP 请求的头部信息,字典格式。
  • origin_req_host:请求的主机地址,IP 或域名。
  • unverifiable:很少用整个参数,用于设置网页是否需要验证,默认是False。。
  • method:请求方法, 如 GET、POST、DELETE、PUT等。

实例 - py3_urllib_test.py 文件代码

importurllib.request

importurllib.parse


url ='https://www.runoob.com/?s='  # 菜鸟教程搜索页面

keyword='Python 教程'

key_code =urllib.request.quote(keyword)  # 对请求进行编码

url_all = url+key_code

header ={

   'User-Agent':'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'

}   #头部信息

request =urllib.request.Request(url_all,headers=header)

reponse =urllib.request.urlopen(request).read()


fh =open("./urllib_test_runoob_search.html","wb")    # 将文件写入到当前目录中

fh.write(reponse)

fh.close()

执行以上 Python 代码,会在当前目录生成 urllib_test_runoob_search.html 文件,打开 urllib_test_runoob_search.html 文件(可以使用浏览器打开),内容如下:

image.png

相关文章
|
6月前
|
人工智能 Shell 编译器
C/C++编译工具:makefile | AI工程化部署
Makefile是一种用于管理和组织源代码的工具,通常用于构建和编译软件项目。它由一系列规则组成,每个规则指定如何生成一个或多个目标文件。Makefile也包括变量和注释,使得用户能够灵活地配置和定制构建过程。【1月更文挑战第3天】
189 3
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
生成式人工智能(Generative AI)入门指南
生成式人工智能(Generative AI)入门指南
|
6月前
|
Unix Apache Python
Python3 notes
Python3 notes
|
6月前
|
存储 安全 API
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
274 2
|
6月前
|
算法 搜索推荐 流计算
【高效写作技巧】CSDN的原力等级有什么用?如何增长原力等级?
【高效写作技巧】CSDN的原力等级有什么用?如何增长原力等级?
287 1
|
6月前
|
SQL API 数据库
Python3 notes
Python3 notes
|
6月前
|
Python
Python3 notes
Python3 notes
|
6月前
|
缓存 NoSQL Java
Spring Data Redis对象缓存序列化问题
在使用 Redis 时,有没有遇到同我一样,对象缓存序列化问题的呢?
128 6
Spring Data Redis对象缓存序列化问题
|
6月前
|
搜索推荐 机器人 索引
内容分发策略与 SEO 优化指南
内容分发是指通过各种媒介分享、发布或传播内容给受众的过程。这些媒介可以包括不同的渠道,例如社交媒体平台(Facebook、Twitter、LinkedIn、朋友圈、微博、小红书、B 站、抖音、公众号等)、电子邮件新闻稿、博客、播客、网站,甚至杂志和报纸等线下场所。内容分发的性质可以涵盖从博客文章、文章、视频、信息图表到播客的各种内容。内容分发的目的是使您的内容尽可能多地接触到相关受众,提高覆盖面、可见性和参与度。该策略可能涉及有机和付费两种分发方式,通常采用多渠道方法来最大限度地扩大覆盖面。
284 2
|
6月前
|
Linux C++
手把手教你ubuntu18.04安装netmap
手把手教你ubuntu18.04安装netmap
138 1