Première connaissance du module urllib Python

C'est mignon. 2021-10-29 11:41:26
premi connaissance du module urllib

Petite connaissance,Grand défi!Cet article participe“Les programmeurs ont besoin de peu de connaissances”Activités créatives.

Cet article a été impliqué dans 「Le programme Nugget Star」 ,.Gagner un grand sac cadeau pour la création,Remise en question des incitatifs à la création.

Préface

Nous étions dans le numéro précédent Connaissance des réseaux informatiques Les bases liées au réseau informatique sont les suivantes: TCP/IP Modèle de protocole à quatre niveaux、URL Localisateur de ressources 、HTTP/HTTPS Compréhension et apprentissage des protocoles, etc. .

Tout le monde sait,PythonEst une langue avancée,Non seulement pour soutenirGUIProgrammation, Vous pouvez également programmer le réseau .

Parmi eux,Python Les bibliothèques intégrées sont disponibles pour les opérations URLDe la fonctionurllibModule, Bibliothèque de requêtes pour le serveur requestsModule

Donc,,Dans ce numéro, nous utilisonsPython Les Crawlers utilisent les modules les plus couramment utilisés urllib Apprentissage modulaire des connaissances ,Let's go~

1. urllibAperçu du module

️urllib- Oui.pythonIntégréHTTPBibliothèque des requêtes,Utilisation sans installation.

urllibTrès puissant., Fournir un soutien pour un certain nombre de fonctions comme suit:

  1. Demande de page Web
  2. Acquisition de réponses
  3. Agents、cookieParamètres
  4. Gestion des exceptions
  5. URLAnalyse

urllibFourni avec4Modules

  • request: C'est fondamental.httpModule de demande, Utilisé pour simuler la demande d'envoi

  • error: Module de gestion des exceptions , Ces exceptions peuvent être saisies en cas d'erreur

  • parse: Un module d'outils ,Offre beaucoupURLMéthode de traitement,Par exemple::Split、Analyse、Fusion, etc.

  • robotparser: Utilisé principalement pour identifier les sites Web robots.txtDocumentation, Et déterminer quels sites Web peuvent ramper

Notes importantes

  • Python2Moyenne,Peut être importé directementurllib
  • Python3Moyenne, Les modules importés doivent être spécifiés lors de l'importation

2. urllib.request Approche modulaire

urllib.request Les modules sont inclus dans différentes situations HTTPAccordURLMéthode, Par exemple, certification 、Redirection、cookieFonctionnement.

urllib.request Le scénario le plus utilisé par le module est d'envoyer une requête au serveur .

urllib.request Demande de fourniture de modules URLLes méthodes courantes sont les suivantes::

Méthodes Action
urllib.request.urlopen(url,data) Ouvre.url,url Peut être un caractère ou requestObjet
urllib.request.build_opener() Concaténer les fonctions et retourner OpenerDirector
urllib.request.Request(url,data) Oui.dataDonnées envoyées au serveur
urllib.request.HTTPBasicAuthHandler() Traiter l'authentification de l'hôte distant
urllib.request.ProxyHandler(proxies) Utiliser l'agent spécifié

Points saillants

urllib.request Les étapes communes d'utilisation des modules sont les suivantes: :

  1. Importer un module:import urllib. request
  2. Gestionnaire de fichierswith Pour lire le contenu d'une page Web
import urllib.request
req = urllib.request.urlopen("https://juejin.cn/user/211521683863847/posts")
with req as f:
print(f.read(300).decode('utf-8'))
Copier le Code

3. urllib.parse Approche modulaire

urllib.parse Module pour l'analyse URL,Oui.URL String split into Protocol 、 Emplacement du réseau 、 Chaque partie du chemin, etc.

urllib.parse Les modules peuvent également être composés de composants individuels URLString, Sera relatif url Convertir en absolu complet URLAdresse

urllib.parse Méthode de définition du module URLAnalyse etURL Transcodage en deux parties .

urllib.parse À propos de l'analyse URLLa méthode est la suivante::

Méthodes Action
urllib.parse.urlparse(urlstring) url Analyse en six parties scheme://netloc/path;parameters?query#fragment
urllib.parse.parse_qs(qs) L'analyse prend la forme d'un paramètre de chaîne (application/x-www-form-urlencoded) Donne la chaîne de requête
urllib.parse.urlnparse(parts) Renvoie la construction en Tuple URL
urllib.parse.urlsplit(urlstring) Analyseurl, Et renvoie le Tuple à interroger par index urlParamètres
urllib.parse.urljoin(base,url) AdoptionbaseEturl Pour former un ensemble complet url
urllib.parse.urldefrag(url) Renvoie un identifiant sans fragment url

urllib.parse À propos du transcodage URLLa méthode est la suivante::

Méthodes Action
urllib.parse.quote(string) Utiliser%xx Remplacement du caractère d'évasion string Caractères spéciaux
urllib.parse.urldecod(query) Convertir une chaîne en encodée ASCIIChaîne de texte

urllib.parse AnalyseurlDescription du champ:

Propriétés Description
schema URLAccord
netloc Emplacement du réseau
path Chemin hiérarchique
query Élément de requête
fragment Identifiant du fragment
username Nom d'utilisateur
password Mot de passe
hostname Nom d'hôte(Minuscule)
post Numéro de port

Exemples

import urllib.parse
pa = urllib.parse.urlparse("https://juejin.cn/user/211521683863847/posts")
print("Accord:",pa.scheme)
print(" Emplacement du réseau :",pa.netloc)
print(" Chemin hiérarchique :",pa.path)
Copier le Code

4. urllib.error Approche modulaire

urllib.error Module dédié urllib.request Scénario de la classe d'exception lancée

urllib.error Principalement deux HTTPErrorEtURLError

Méthodes Action
urllib.error.HTTPError TraitementHTTP Exception lancée par erreur
urllib.error.URLError Exception lancée par le gestionnaire en cas de problème

Notes importantes

  • HTTPError - Oui. URLErrorSous - classe,Traitement spécialiséHTTP Exception pour erreur de protocole
  • URLError - Oui. OSErrorUne sous - classe de,Contientreason Cause de l'exception

5. urllib.robotparser Approche modulaire

urllib.robotparser Dédié à l'analyse robots.txt Le site Web du fichier est spécifique à la capture URLLa question de

Catégorie Action
urllib.robotparser.RobotFileParse(url) Fournit une série de lectures 、 Analyse et réponse url Approche du problème
Méthodes Action
set_url(url) Les paramètres pointent vers robots.txt Document URL
read() Lire robots.txt URL Et l'importer dans l'analyseur .
parse() Résoudre les paramètres de ligne .
can_fetch() Si autorisé useragent  Résolu par  robots.txt  Règles dans le fichier pour obtenir  url Renvoie True.

Résumé

Période en cours,Nous sommes d'accord avecurllib Quatre modules disponibles dans la bibliothèque urllib.request、urllib.parse、urllib.error、urllib.robotparser Connaissance préliminaire et utilisation des méthodes pertinentes .

Ce qui précède est le contenu de ce numéro.,Les grands sont les bienvenus pour faire des commentaires favorablesღ( ´・ᴗ・` )Bichon.,À la prochaine fois.~

版权声明
本文为[C'est mignon.]所创,转载请带上原文链接,感谢
https://pythonmana.com/2021/10/20211029114048335d.html

  1. Python code reading (Chapter 14): List Union
  2. Lecture du Code Python (article 25): diviser les chaînes multilignes en listes
  3. Python self study notes -- operators
  4. Formation python - différences entre http et HTTPS
  5. Implementation of automatic timing comment function on Python CSDN platform
  6. python+tkinter+treeview子控件快捷键
  7. Raccourcis clavier pour les sous - contrôles Python + tkinter + treeview
  8. Analyse des données Python
  9. python+tkinter+treeview子控件快捷鍵
  10. Devine si je peux attraper Maotai avec la programmation python? Tout est ouvert à github
  11. À propos de pygame.display.set in Python Un petit problème avec mode ()
  12. Implementation of automatic timing comment function on Python CSDN platform
  13. python:dataframe进行iteritem遍历时如何将输出结果按照列分别输出为该列最后一行
  14. python:dataframe進行iteritem遍曆時如何將輸出結果按照列分別輸出為該列最後一行
  15. Python: comment le dataframe affiche les résultats de sortie par colonne à la dernière ligne de la colonne lors de la traversée de l'itemitem
  16. Écrivez un gadget de bureau pour votre fille préférée en python et elle dit que c'est génial!
  17. Introduction to closures in Python 3
  18. Global / nonlocal usage in Python 3
  19. Introduction to context manager in Python 3
  20. Python crawler selenium framework. You can start with these five questions | Python skill tree
  21. Common standard library random, python introductory tutorial 5 or 6 questions a day | Python skill tree
  22. It is said that Python is omnipotent. It's really good to see Liyang photography circle with Python this time
  23. 【Python 爬虫】 4、爬虫基本原理
  24. 【Python 爬蟲】 4、爬蟲基本原理
  25. 【 Python crawler】 4. Principes de base du crawler
  26. 这道python题到底应该要怎么做
  27. Que doit faire exactement ce problème Python
  28. Après l'importation des variables du module Python, les valeurs imprimées sont fixes.
  29. Nouveau singe Muzi Lee: 0 cours de formation Python de base types de hachage pour les opérations Python redis
  30. Looking at problems from a fresh perspective: analyzing selenium principle from the perspective of Python
  31. Insérez le format de date dans la base de données MySQL en python et ne l'exécutez pas.
  32. Try Python 3.10 with CONDA
  33. Répondez en python et demandez à quelqu'un de vous aider.
  34. Un simple problème de travail Python, qui ne fonctionne pas
  35. Problèmes d'écriture Python pour la boucle
  36. Comment Python exécute les commandes du programme à plusieurs reprises au lieu de quitter
  37. YYDS! Dexplot: one line of Python code to easily draw statistical charts!
  38. pandas生成的透视表如何和源数据一起保存
  39. pandas生成的透視錶如何和源數據一起保存
  40. Comment sauvegarder le tableau pivot généré par pandas avec les données sources
  41. 10 fois plus efficace avec cache dans le développement de Django
  42. 求Python *.svg文件操作方法
  43. 求Python *.svg文件操作方法
  44. Trouver la méthode de fonctionnement du fichier Python *.Svg
  45. 【 python】 Internal Guide for Unit Test Practice
  46. 用Python编程佩尔数列pell数列循环结构
  47. 【 python】 échafaudage fastapi: spécification du développement du projet d'interface arrière fastapi
  48. [Python] restful Specification Practice Based on fastapi
  49. Python代码阅读(第26篇):将列表映射成字典
  50. How to use Python to make a screen color extractor with Exe file
  51. Lecture du Code Python (article 26): cartographie des listes dans les dictionnaires
  52. Python代码阅读(第26篇):将列表映射成字典
  53. Python代碼閱讀(第26篇):將列錶映射成字典
  54. Lecture du Code Python (article 26): cartographie des listes dans les dictionnaires
  55. 使用 Python 进行数据可视化之Seaborn
  56. Real time access to stock data, free—— Python crawler Sina stock actual combat
  57. Seaborn pour la visualisation des données en python
  58. 浅识XPath(熟练掌握XPath的语法)【python爬虫入门进阶】(03)
  59. Python中if else语句进行操作的时候哪里除了错,搞不懂
  60. Python题,我刚学,还不会