


Un article vous guidera à travers la bibliothèque urllib en Python (URL d'exploitation)
1. Manipulation des URL
urllib fournit une série de fonctions pour manipuler les URL. Classer le contenu associé.
2. Get()
urllib'srequest
request
模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应:
例如,对豆瓣的URLhttps://api.growingio.com/v2/22c937bbd8ebd703f2d8e9445f7dfd03/web/pv?stm=1593747087078
le module peut facilement capturer le contenu de l'URL, c'est-à-dire envoyer une requête GET à la page spécifiée, puis renvoyer une réponse HTTP : Par exemple, l'URL de Douban
https://api.growingio.com/v2/22c937bbd8ebd703f2d8e9445f7dfd03/web/pv?stm=1593747087078
🎜🎜explorez et renvoyez la réponse : 🎜🎜🎜🎜from urllib import request with request.urlopen('https://api.growingio.com/v2/22c937bbd8ebd703f2d8e9445f7dfd03/web/pv?stm=1593747087078') as f: data = f.read() print('Status:', f.status, f.reason) for k, v in f.getheaders(): print('%s: %s' % (k, v)) print('Data:', data.decode('utf-8'))
Vous pouvez voir les en-têtes et les données JSON de la réponse HTTP :
Si vous souhaitez simuler le navigateur envoyant une requête GET, vous devez utiliser < code style="box -sizing : border-box;font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234 , 237) ; couleur d'arrière-plan : rgb (243, 244, 244) ; rayon de bordure : 3 px ; rembourrage à droite : 2 px ; rembourrage à gauche : 2 px ; taille de police : 0,9 em ; Request
对象,通过往Request
对象添加HTTP头,就可以把请求伪装成浏览器。例如,模拟iPhone 6去请求豆瓣首页:
from urllib import request req = request.Request('http://www.douban.com/') req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25') with request.urlopen(req) as f: print('Status:', f.status, f.reason) for k, v in f.getheaders(): print('%s: %s' % (k, v)) print('Data:', f.read().decode('utf-8'))
这样豆瓣会返回适合iPhone的移动版网页:
三、Post()
如果要以POST发送一个请求,只需要把参数 模拟一个微博登录,先读取登录的邮箱和口令,然后按照weibo.cn的登录页的格式以 如果登录成功,获得的响应如下: 如果登录失败,获得的响应如下: 如果还需要更复杂的控制,比如通过一个Proxy去访问网站,需要利用 如果代理成功返回网址的信息。 Si l'URL ou l'adresse proxy est erronée, revenez à l'interface ci-dessous. L'utilisation du langage Python peut aider tout le monde à mieux apprendre Python. La fonction fournie par urllib est d'utiliser des programmes pour effectuer diverses requêtes HTTP. Si vous souhaitez simuler un navigateur pour remplir une fonction spécifique, vous devez déguiser la demande en navigateur. La méthode de camouflage consiste d'abord à surveiller les requêtes envoyées par le navigateur, puis à les camoufler en fonction de l'en-tête de requête du navigateur. L'en-tête User-Agent est utilisé pour identifier le navigateur. data
objet, en allant dans Requête</ En ajoutant un en-tête HTTP à l'objet code></span><br/>, vous pouvez déguiser la requête en navigateur. Par exemple, simulez l'iPhone 6 pour demander la page d'accueil de Douban : </p>🎜🎜🎜<pre class='brush:php;toolbar:false;'>from urllib import request, parse
print(&#39;Login to weibo.cn...&#39;)
#电子邮件
email = input(&#39;Email: &#39;)
#密码
passwd = input(&#39;Password: &#39;)
#相关的参数
login_data = parse.urlencode([
(&#39;username&#39;, email),
(&#39;password&#39;, passwd),
(&#39;entry&#39;, &#39;mweibo&#39;),
(&#39;client_id&#39;, &#39;&#39;),
(&#39;savestate&#39;, &#39;1&#39;),
(&#39;ec&#39;, &#39;&#39;),
(&#39;pagerefer&#39;, &#39;https://passport.weibo.cn/signin/welcome?entry=mweibo&r=http%3A%2F%2Fm.weibo.cn%2F&#39;)
])
#网址请求
req = request.Request(&#39;https://passport.weibo.cn/sso/login&#39;)
req.add_header(&#39;Origin&#39;, &#39;https://passport.weibo.cn&#39;)
#构造User-Agent
req.add_header(&#39;User-Agent&#39;, &#39;Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25&#39;)
req.add_header(&#39;Referer&#39;, &#39;https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=http%3A%2F%2Fm.weibo.cn%2F&#39;)
with request.urlopen(req, data=login_data.encode(&#39;utf-8&#39;)) as f:
print(&#39;Status:&#39;, f.status, f.reason)
for k, v in f.getheaders():
print(&#39;%s: %s&#39; % (k, v))
print(&#39;Data:&#39;, f.read().decode(&#39;utf-8&#39;))</pre>🎜<p cid="n13" mdtype="paragraph" style="box-sizing: border-box;line-height: Heherit;orphans: 4 ;marge en haut : 0,8em ;marge en bas : 0,8em;espace blanc : pré-enveloppement;famille de polices : "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji ", sans-serif;font-size: 16px;text-align: start;">🎜De cette façon, Douban renverra la version mobile de la page Web adaptée à l'iPhone : 🎜🎜🎜🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/001/272/559/95e6e8965dd5ac2b6231e469adf6c889-4.png" class="lazy"/ alt="Un article vous guidera à travers la bibliothèque urllib en Python (URL d'exploitation)" >🎜🎜🎜🎜<h2 id="Trois-Post">🎜Trois, Post()🎜</h2>🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/001/272/559/95e6e8965dd5ac2b6231e469adf6c889-4.png" class="lazy"/ alt="Un article vous guidera à travers la bibliothèque urllib en Python (URL d'exploitation)" >🎜<p cid="n16" mdtype="paragraph" style="max-width:90%"Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif;font-size: 16px ;text-align: start;">🎜Si vous souhaitez envoyer une requête avec POST, il vous suffit de mettre les paramètres 🎜🎜<code style="box-sizing: border-box ;font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243 , 244, 244);border-radius : 3px;padding- right : 2px;padding-left : 2px;font-size : 0.9em;">data
🎜🎜 est transmis en octets. 🎜🎜🎜username=xxx&password=xxx
的编码传入:from urllib import request, parse
print('Login to weibo.cn...')
#电子邮件
email = input('Email: ')
#密码
passwd = input('Password: ')
#相关的参数
login_data = parse.urlencode([
('username', email),
('password', passwd),
('entry', 'mweibo'),
('client_id', ''),
('savestate', '1'),
('ec', ''),
('pagerefer', 'https://passport.weibo.cn/signin/welcome?entry=mweibo&r=http%3A%2F%2Fm.weibo.cn%2F')
])
#网址请求
req = request.Request('https://passport.weibo.cn/sso/login')
req.add_header('Origin', 'https://passport.weibo.cn')
#构造User-Agent
req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25')
req.add_header('Referer', 'https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=http%3A%2F%2Fm.weibo.cn%2F')
with request.urlopen(req, data=login_data.encode('utf-8')) as f:
print('Status:', f.status, f.reason)
for k, v in f.getheaders():
print('%s: %s' % (k, v))
print('Data:', f.read().decode('utf-8'))
四、Handler
ProxyHandler
来处理,示例代码如下:import urllib.request
# 构建了两个代理Handler,一个有代理IP,一个没有代理IP
httpproxy_handler = urllib.request.ProxyHandler({"https": "27.191.234.69:9999"})
nullproxy_handler = urllib.request.ProxyHandler({})
# 定义一个代理开关
proxySwitch = True
# 通过 urllib.request.build_opener()方法使用这些代理Handler对象,创建自定义opener对象
# 根据代理开关是否打开,使用不同的代理模式
if proxySwitch:
opener = urllib.request.build_opener(httpproxy_handler)
else:
opener = urllib.request.build_opener(nullproxy_handler)
request = urllib.request.Request("http://www.baidu.com/")
# 1. 如果这么写,只有使用opener.open()方法发送请求才使用自定义的代理,而urlopen()则不使用自定义代理。
response = opener.open(request)
# 2. 如果这么写,就是将opener应用到全局,之后所有的,不管是opener.open()还是urlopen() 发送请求,都将使用自定义代理。
# urllib.request.install_opener(opener)
# response = urllib.request.urlopen(request)
# 获取服务器响应内容
html = response.read().decode("utf-8")
# 打印结果
print(html)
5. Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La méthode de remplissage des données Excel dans les formulaires Web à l'aide de Python est: utilisez d'abord des pandas pour lire les données Excel, puis utilisez le sélénium pour contrôler le navigateur pour remplir et soumettre automatiquement le formulaire; Les étapes spécifiques incluent l'installation de bibliothèques Pandas, OpenPyxl et Selenium, en téléchargeant le pilote de navigateur correspondant, en utilisant des pandas pour lire le nom, le courrier électronique, le téléphone et d'autres champs dans le fichier data.xlsx, le lancement du navigateur via le sélénium pour ouvrir la page Web cible, localiser les éléments de formulaire et remplir le traitement de données, en utilisant le formulaire Web pour traiter le contenu dynamique, ajouter le contenu de la charge dynamique, ajouter un traitement exception et traiter toutes les lignes de données dans une boucle.

Table des matières Qu'est-ce que l'analyse des sentiments dans le trading des crypto-monnaies? Pourquoi l'analyse des sentiments est importante dans l'investissement des crypto-monnaies sources clés de données d'émotion a. Plateforme de médias sociaux b. Médias d'information c. Outils pour l'analyse des sentiments et la technologie Utilisé couramment des outils dans l'analyse des sentiments: Techniques adoptées: intégrer l'analyse des sentiments dans les stratégies de trading comment les traders l'utilisent: Exemple de stratégie: supposer le scénario de trading BTC Réglage du scénario: Signal émotionnel: interprétation des commerçants: Décision: Résultats: Limitations et risques de l'analyse des sentiments en utilisant de plus en plus les émotions pour le commerce des crypto-oreilles. Une récente étude en 2025 de Hamid

Lors du traitement de grands ensembles de données qui dépassent la mémoire dans Python, ils ne peuvent pas être chargés en RAM en même temps. Au lieu de cela, des stratégies telles que le traitement de la chasse, le stockage du disque ou le streaming doivent être adoptées; Les fichiers CSV peuvent être lus en morceaux via les paramètres ChunkSize de Pandas et le bloc traité par bloc. La daste peut être utilisée pour réaliser la parallélisation et la planification des tâches similaires à la syntaxe Pandas pour prendre en charge les opérations de données de mémoire importantes. Écrivez les fonctions du générateur pour lire les fichiers texte ligne par ligne pour réduire l'utilisation de la mémoire. Utilisez le format de stockage en colonne de parquet combiné avec Pyarrow pour lire efficacement des colonnes ou des groupes de lignes spécifiques. Utilisez Memmap de Numpy pour mapper la mémoire de grands tableaux numériques pour accéder aux fragments de données à la demande, ou stocker des données dans des données légères telles que SQLite ou DuckDB.

Useprint () instructionSOcheckVariableValuesAndexEcutionflow, ajoutlabelsandtypesforclarity, andRemoveThembeForComting; 2.Ushepylepylebugger (pdb) withreakpoint () topauseeexecution, inspectvariables, andstepthroughcodeinteractive; 3.HandleExceptionsusin;

UsuBrimeText’sBuildSystemTorunpyThonscriptsandcatcherRorSpressingCtrl baftersettingthecorrectBuildSystemorCreatacustomone.2.InsertStrategicprint () StatementScocheckVariableValues, Types, etxExecutionflow, usingLabelSAndrepr () Forclarit

Assurez-vous que Python est installé et ajouté au chemin du système, exécutez Python - Version ou Python3 - Version Version via le terminal; 2. Enregistrez le fichier Python en tant qu'extension .py, comme Hello.py; 3. Créez un système de construction personnalisé dans sublimeText, les utilisateurs de Windows utilisent {"CMD": ["Python", "- U", "$ File"]}, les utilisateurs de macOS / Linux utilisent {"CMD": ["Python3

Pour déboguer Python Scripts, vous devez d'abord installer l'extension Python et configurer l'interprète, puis créer un fichier lancé.json pour définir la configuration de débogage, puis définir un point d'arrêt dans le code et appuyez sur F5 pour démarrer le débogage. Le script sera interrompu au point d'arrêt, permettant de vérifier les variables et l'exécution étape par étape. Enfin, en vérifiant le problème en affichant la sortie de la console, en ajoutant des journaux ou en ajustant les paramètres, etc., pour s'assurer que le processus de débogage est simple et efficace après la correction de l'environnement.

AplatinganestestListInpyThonConvertsalist avec les publistiquesIntoasingleflatlist et ThebestMethDependSonTherestDepthanddatasize.forone-levelnesting, uselistcomprehensionliny
