#yyds干货盘点#Python-爬虫_urlib一个类型和六个方法

在下小黄 2021-11-25 16:24:12
编程语言 Python 数据 d3 字符串

创建时间:2021-11-25
作者:在下小黄

一、前文回顾:

  • 上文讲到,Python的第一个爬虫以及相关的知识,相信大家都已经掌握了,接下来我们回顾一下。
  • 顺便为接下来的知识进行详细的讲解。
""" 创建时间:2021-11-25 作者:在下小黄 版本:v1.0 """
# 使用urllib来获取百度首页的源码
import urllib.request
# (1)定义一个url 就是你要访问的地址
url = 'http://www.baidu.com'
# (2)模拟浏览器向服务器发送请求 response响应
response = urllib.request.urlopen(url)
# (3)获取响应中的页面的源码 content 内容的意思
# read方法 返回的是字节形式的二进制数据
# 我们要将二进制的数据转换为字符串
# 二进制-->字符串 解码 decode('编码的格式')
content = response.read().decode('utf-8')
# (4)打印数据
print(content)

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

二、urllib的一个类型和六个方法:

  • 一个类型 HTTPResponse
  • 六个方法 read 、 readline 、 readlines、 getcode、 geturl 、getheaders
urllib.request.urlopen() 模拟浏览器向服务器发送请求
response 服务器返回的数据
response的数据类型是HttpResponse
# 字节‐‐>字符串
解码decode
# 字符串‐‐>字节
编码encode
read() 字节形式读取二进制 扩展:rede(5)返回前几个字节
readline() 读取一行
readlines() 一行一行读取 直至结束
getcode() 获取状态码
geturl() 获取url
getheaders() 获取headers

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

举个例子:

""" 创建时间:2021-11-25 作者:在下小黄 版本:v1.0 """
import urllib.request
url = 'http://www.baidu.com'
# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)
# 一个类型和六个方法
# response是HTTPResponse的类型
# print(type(response))
# 按照一个字节一个字节的去读
# content = response.read()
# print(content)
# 返回多少个字节
# content = response.read(5)
# print(content)
# 读取一行
# content = response.readline()
# print(content)
# content = response.readlines()
# print(content)
# 返回状态码 如果是200了 那么就证明我们的逻辑没有错
# print(response.getcode())
# 返回的是url地址
# print(response.geturl())
# 获取是一个状态信息
print(response.getheaders())

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.

三、下载数据:

""" 创建时间:2021-11-25 作者:在下小黄 版本:v1.0 """
import urllib.request
# 下载网页
# url_page = 'http://www.baidu.com'
# url代表的是下载的路径 filename文件的名字
# 在python中 可以变量的名字 也可以直接写值
# urllib.request.urlretrieve(url_page,'baidu.html')
# 下载图片
# url_img = 'https://img1.baidu.com/it/u=3004965690,4089234593&fm=26&fmt=auto&gp=0.jpg'
#
# urllib.request.urlretrieve(url= url_img,filename='lisa.jpg')
# 下载视频
url_video = 'https://vd3.bdstatic.com/mda-mhkku4ndaka5etk3/1080p/cae_h264/1629557146541497769/mda-mhkku4ndaka5etk3.mp4?v_from_s=hkapp-haokan-tucheng&auth_key=1629687514-0-0-7ed57ed7d1168bb1f06d18a4ea214300&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest='
urllib.request.urlretrieve(url_video,'hxekyyds.mp4')

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。

每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
#yyds干货盘点#Python-爬虫_urlib一个类型和六个方法_字符串

博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!


版权声明
本文为[在下小黄]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_14607063/4688321

  1. Using Python 3 to make practical software for drawing modification
  2. About HTML (acceptable to Python)
  3. Python集成學習:自己編寫構建AdaBoost分類模型可視化决策邊界及sklearn包調用比較
  4. PYTHON用LSTM長短期記憶神經網絡的參數優化方法預測時間序列洗發水銷售數據
  5. Python Integrated Learning: Writing and Constructing adaboost Classification Model Visualized decision Boundary and sklearn package Calling Comparison
  6. Python prédit les données de vente de shampooing de séries chronologiques en utilisant la méthode d'optimisation des paramètres du réseau neuronal de mémoire à court et à long terme lstm
  7. [zero basics of Python to introduction] a prerequisite for Python preparatory knowledge -- basic coding specification of Python
  8. OpenCV对比度亮度变换竟能用来去水印(附Python/C++源码)
  9. [zero basics of Python to getting started] a prerequisite for Python preparatory knowledge -- installing the visualization tool pycharm
  10. The test modifies main.py in micro python
  11. Microphoton experimental circuit board based on mm32f3273 - does not work normally
  12. Run micropathon on mm32f3273 to test performance
  13. Design mm32f3277 micro Python experimental board with SD card
  14. Mm32f3277 corresponding interface files during microphoton migration
  15. Mm32f3277 microphoton experimental board design and software testing
  16. Making and testing mm32f3277 microphoton minimum circuit board
  17. Download mm32-link program automatically with Python simulated mouse
  18. A curriculum of "artificial intelligence Python machine learning and deep learning"
  19. Test the basic functions of mm32 microphoton test circuit board
  20. Test the basic functions of the mm32f3277 micro Python development board flying one by one
  21. Debugging mm32f3277 from zhufei, transplanted with micro Python development board
  22. Recognizing numbers using OpenCV and python
  23. 真的太香了,Python速查表终于出中文版了
  24. Django REST Framework(DRF)教程:快速入门
  25. python django objects filter过滤查询:startswith year
  26. Data encapsulation of Excel test cases in Python
  27. 学员管理系统python
  28. 肝了一夜,8000字概括精髓,pandas必知必会50例!
  29. Python竟然可以画漫画!漫画版的故宫导游图,来袭!
  30. Networkx graph theory Dijkstra algorithm shortest path implementation, Python
  31. Draw a HelloWorld with Python turtle Library
  32. 运行django的服务器内存使用偶尔跳高一点,重启服务马上下来,是内存泄露吧
  33. Basic usage of Python tqdm module in machine learning training
  34. Python -- basic usage method and basic template of argparse module
  35. python-sockertserver并发编程思想
  36. Programmation simultanée du serveur de sockets Python
  37. Vue+Django 旅游网项目 首页前端实现
  38. [learning notes] Python - pyecarts
  39. Python automated operation and maintenance -- actual combat (I)
  40. Classic usage of pandas: iloc and LOC of data filtering
  41. Python 多分支语句的三种结构
  42. Calendar module of Python time series
  43. Python 输出指定范围的闰年
  44. A super easy to use Python standard library. It's great to operate directories and files
  45. Fatal Python error: init_ fs_ encoding: failed to get the Python codec of the filesystem encoding
  46. Using Python to obtain a video address is as simple as
  47. #yyds干货盘点# 6. Python 元组,不可变的列表,滚雪球学 Python
  48. Yyds Dry Inventory # 6. Python tuples, invariant List, snowball Learning Python
  49. You cannot enter the registration page using Django registration redux
  50. 笨办法学Python第十八天:更多文件操作
  51. Python编辑代码,帮个忙呗
  52. pandas转换object为int失败了,有人能解答吗
  53. python解释题,解释这串,所代表的意思
  54. 用python用while语句写1000以内能被5和9整除的数和个数
  55. #python 我写了一个“饭店”程序
  56. Comprehensive application of Python foundation -- Development
  57. Écrivez en python le nombre et le nombre d'entiers qui peuvent être divisés par 5 et 9 jusqu'à 1000 dans une instruction while
  58. You can learn Python articles without reading online classes (day 4)
  59. You can learn Python articles without reading online classes (the third day)
  60. You can learn Python articles without reading online classes (the next day)