


Comment utiliser la bibliothèque de requêtes du robot d'exploration Web Python
May 15, 2023 am 10:34 AM1. Qu'est-ce qu'un robot d'exploration Web
En termes simples, il s'agit de créer un programme pour télécharger, analyser et organiser les données d'Internet de manière automatisée.
Tout comme lorsque nous naviguons sur le Web, nous copierons et collerons le contenu qui nous intéresse dans nos cahiers pour faciliter la lecture et la navigation la prochaine fois - le robot d'exploration nous aide à compléter automatiquement ces contenus
Bien s?r, si nous en rencontrons Sites Web qui ne peuvent pas être copiés et collés - les robots d'exploration Web peuvent montrer encore plus leur puissance
Pourquoi avons-nous besoin de robots d'exploration Web
Lorsque nous devons effectuer une analyse de données - et souvent ces données sont stockées dans des pages Web, le téléchargement manuel prend également à l'heure actuelle, nous avons besoin d'un robot d'exploration Web pour nous aider à explorer automatiquement ces données (bien s?r, nous filtrerons les éléments inutiles sur la page Web)
Application du robot d'exploration Web
Accéder et collecter les données du réseau a une large portée. gamme d'applications, dont beaucoup appartiennent au domaine de la science des données. Jetons un coup d'?il aux exemples suivants :
Les vendeurs Taobao ont besoin de trouver des informations positives et négatives utiles à partir d'avis massifs pour l'aider à saisir davantage l'opportunité. , analysant la psychologie d'achat des clients. Certains chercheurs ont exploré des informations sur Twitter, Weibo et d'autres médias sociaux pour créer un ensemble de données, établissant ainsi un modèle de prédiction pour identifier la dépression et les pensées suicidaires - afin que davantage de personnes aient besoin d'aide - bien s?r. nous devons également considérer les questions liées à la vie privée – mais c'est cool, n'est-ce pas ?
En tant qu'ingénieur en intelligence artificielle, ils ont exploré les photos des préférences des volontaires de l'Ins pour entra?ner le modèle d'apprentissage en profondeur afin de prédire si les images données seront appréciées par les volontaires - les fabricants de téléphones mobiles ont intégré ces modèles dans leur application photo, poussé pour vous. Les data scientists de la plateforme de commerce électronique explorent les informations des produits consultés par les utilisateurs, effectuent des analyses et des prédictions, afin de proposer les produits que les utilisateurs souhaitent conna?tre et acheter le plus
Oui ! Les robots d'exploration Web sont largement utilisés, allant de l'exploration quotidienne par lots de fonds d'écran et d'images haute définition aux sources de données pour l'intelligence artificielle, l'apprentissage en profondeur et la formulation de stratégies commerciales.
Cette ère est l'ère des données, et les données sont le ? nouveau pétrole ?
2. Protocole de transmission réseau HTTP
Oui, lorsqu'il s'agit de robots d'exploration Web, c'est HTTP qui ne peut être évité. pas besoin d'être aussi détaillé que les ingénieurs réseau Comprendre tous les aspects de la définition du protocole, mais en guise d'introduction, nous devons quand même avoir une certaine compréhension
L'Organisation internationale de normalisation ISO maintient le modèle de référence d'interconnexion des systèmes de communication ouverts OSI, et ce modèle divise la structure de communication informatique en sept couches
-
Couche physique : incluant le protocole Ethernet, le protocole USB, le protocole Bluetooth, etc.
Couche liaison de données : incluant le protocole Ethernet
Couche réseau : incluant le protocole IP
Couche Transport?: y compris les protocoles TCP, UDP
Couche Session?: Contient les protocoles d'ouverture/fermeture et de gestion des sessions
Couche Présentation?: Contient les protocoles de protection des formats et de traduction des données
Couche Application?: Contient les protocoles de service réseau HTTP et DNS
Voyons maintenant à quoi ressemblent les requêtes et les réponses HTTP (car les en-têtes de requête personnalisés seront impliqués plus tard. Le message de requête général comprend le contenu suivant?:
Requête). line
En-têtes de demande multiples
Ligne vierge
Corps du message facultatif
Message de demande spécifique?:
GET https://www.baidu.com/?tn=80035161_1_dg HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-GB;q=0.5,en;q=0.3 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362 Accept-Encoding: gzip, deflate, br Host: www.baidu.com Connection: Keep-Alive
Il s'agit d'une demande lors de l'accès à Baidu. Bien s?r, nous n'avons pas besoin de le savoir. beaucoup de détails à l'intérieur, car le package de requêtes de python nous aidera à terminer notre exploration
Bien s?r, nous pouvons également consulter les informations renvoyées par la page Web pour notre requête?:
HTTP/1.1 200 OK //這邊的狀態(tài)碼為200表示我們的請(qǐng)求成功 Bdpagetype: 2 Cache-Control: private Connection: keep-alive Content-Encoding: gzip Content-Type: text/html;charset=utf-8 Date: Sun, 09 Aug 2020 02:57:00 GMT Expires: Sun, 09 Aug 2020 02:56:59 GMT X-Ua-Compatible: IE=Edge,chrome=1 Transfer-Encoding: chunked
3. ici directement)
Nous savons que python est en fait pré-Il existe d'autres bibliothèques pour gérer HTTP - urllib et urllib3, mais la bibliothèque de requêtes est plus facile à apprendre - le code est plus simple et plus facile à comprendre. Bien s?r, lorsque nous parcourrons avec succès la page Web et extrayons les éléments qui nous intéressent, nous mentionnerons une autre bibliothèque très utile - Beautiful Soup - c'est une autre histoire plus tard
1 Installation de la bibliothèque de requêtes
Ici, nous. Nous pouvons directement trouver le fichier .whl des requêtes à installer, ou nous pouvons directement utiliser pip pour l'installer (bien s?r, si vous avez pycharm, vous pouvez le télécharger directement depuis le chargeur d'environnement à l'intérieur)
2 Combat pratique
Maintenant. nous commen?ons à explorer officiellement la page Web
Le code est le suivant?:
import requests target = 'https://www.baidu.com/' get_url = requests.get(url=target) print(get_url.status_code) print(get_url.text)
Résultats de sortie
200 //返回狀態(tài)碼200表示請(qǐng)求成功 <!DOCTYPE html>//這里刪除了很多內(nèi)容,實(shí)際上輸出的網(wǎng)頁(yè)信息比這要多得多 <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html; charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge> <meta content=always name=referrer> <link rel=stylesheet type=text/css src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
Les cinq lignes de code ci-dessus ont fait beaucoup de choses. Nous pouvons déjà explorer tout le contenu HTML de la page Web
Le. première ligne Code : Chargez la bibliothèque de requêtes. Deuxième ligne de code : Donnez le site Web qui doit être exploré. Troisième ligne de code : Utilisez les requêtes pour faire une requête. Le format général est le suivant :
對(duì)象 = requests.get(url=你想要爬取的網(wǎng)站地址)
Quatrième ligne de code : Renvoie le code d'état de la demande. Cinquième ligne de code?: affiche le corps du contenu correspondant
Bien s?r, nous pouvons également imprimer plus de contenu
import requests target = 'https://www.baidu.com/' get_url = requests.get(url=target) # print(get_url.status_code) # print(get_url.text) print(get_url.reason)//返回狀態(tài) print(get_url.headers) //返回HTTP響應(yīng)中包含的服務(wù)器頭的內(nèi)容(和上面展示的內(nèi)容差不多) print(get_url.request) print(get_url.request.headers)//返回請(qǐng)求中頭的內(nèi)容
OK {'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Sun, 09 Aug 2020 04:14:22 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:23:55 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'} <PreparedRequest [GET]> {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}.
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 grace à 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)

L'entrée vocale de l'utilisateur est capturée et envoyée au backend PHP via l'API MediaRecorder du JavaScript frontal; 2. PHP enregistre l'audio en tant que fichier temporaire et appelle STTAPI (tel que Google ou Baidu Voice Recognition) pour le convertir en texte; 3. PHP envoie le texte à un service d'IA (comme Openaigpt) pour obtenir une réponse intelligente; 4. PHP appelle ensuite TTSAPI (comme Baidu ou Google Voice Synthesis) pour convertir la réponse en fichier vocal; 5. PHP diffuse le fichier vocal vers l'avant pour jouer, terminant l'interaction. L'ensemble du processus est dominé par PHP pour assurer une connexion transparente entre toutes les liens.

Pour réaliser la correction d'erreur de texte et l'optimisation de la syntaxe avec l'IA, vous devez suivre les étapes suivantes: 1. Sélectionnez un modèle ou une API d'IA appropriée, tels que Baidu, Tencent API ou bibliothèque NLP open source; 2. Appelez l'API via Curl ou Guzzle de PHP et traitez les résultats de retour; 3. Afficher les informations de correction d'erreur dans l'application et permettre aux utilisateurs de choisir d'adopter l'adoption; 4. Utilisez PHP-L et PHP_CODESNIFFER pour la détection de syntaxe et l'optimisation du code; 5. Collectez en continu les commentaires et mettez à jour le modèle ou les règles pour améliorer l'effet. Lorsque vous choisissez AIAPI, concentrez-vous sur l'évaluation de la précision, de la vitesse de réponse, du prix et du support pour PHP. L'optimisation du code doit suivre les spécifications du PSR, utiliser le cache raisonnablement, éviter les requêtes circulaires, revoir le code régulièrement et utiliser x

Utilisez le plot conjoint de Seaborn pour visualiser rapidement la relation et la distribution entre deux variables; 2. Le tracé de diffusion de base est implémenté par sn.jointplot (data = pointes, x = "total_bill", y = "Tip", kind = "dispers"), le centre est un tracé de dispersion et l'histogramme est affiché sur les c?tés supérieur et inférieur et droit; 3. Ajouter des lignes de régression et des informations de densité à un kind = "reg" et combiner marginal_kws pour définir le style de tracé de bord; 4. Lorsque le volume de données est important, il est recommandé d'utiliser "Hex"

Pour intégrer la technologie informatique des sentiments de l'IA dans les applications PHP, le noyau est d'utiliser les services cloud AIAPI (tels que Google, AWS et Azure) pour l'analyse des sentiments, envoyer du texte via les demandes HTTP et analyser les résultats JSON renvoyés et stocker les données émotionnelles dans la base de données, réalisant ainsi le traitement automatisé et les informations sur les données de la rétroaction des utilisateurs. Les étapes spécifiques incluent: 1. Sélectionnez une API d'analyse des sentiments d'IA appropriée, en considérant la précision, le co?t, le support linguistique et la complexité d'intégration; 2. Utilisez Guzzle ou Curl pour envoyer des demandes, stocker les scores de sentiment, les étiquettes et les informations d'intensité; 3. Construisez un tableau de bord visuel pour prendre en charge le tri prioritaire, l'analyse des tendances, la direction d'itération du produit et la segmentation de l'utilisateur; 4. Répondez aux défis techniques, tels que les restrictions d'appel API et les chiffres

Les listes de cha?nes peuvent être fusionnées avec la méthode join (), telles que '' .join (mots) pour obtenir "HelloworldFrompython"; 2. Les listes de nombres doivent être converties en cha?nes avec MAP (STR, nombres) ou [STR (x) Forxinnumbers] avant de rejoindre; 3. Toute liste de types peut être directement convertie en cha?nes avec des supports et des devis, adaptées au débogage; 4. Les formats personnalisés peuvent être implémentés par des expressions de générateur combinées avec join (), telles que '|' .join (f "[{item}]" ForIteminitems)

Installez PYODBC: utilisez la commande PiPInstallpyodbc pour installer la bibliothèque; 2. Connectez SQLServer: utilisez la cha?ne de connexion contenant le pilote, le serveur, la base de données, l'UID / PWD ou TrustEd_Connection via la méthode pyoDBC.Connect () et prendre en charge l'authentification SQL ou l'authentification Windows respectivement; 3. Vérifiez le pilote installé: exécutez pyodbc.Drivers () et filtrez le nom du pilote contenant ?SQLServer? pour vous assurer que le nom du pilote correct est utilisé tel que ?ODBCDriver17 pour SQLServer?; 4. Paramètres clés de la cha?ne de connexion

pandas.melt () est utilisé pour convertir les données de format larges en format long. La réponse consiste à définir de nouveaux noms de colonne en spécifiant id_vars conserver la colonne d'identification, Value_Vars Sélectionnez la colonne à fondre, var_name et valeur_name, 1.id_vars = 'name' signifie que la colonne de nom reste inchangée, 2.Value_vars = [Math ',' English ',' Science '. du nom de colonne d'origine, 4.value_name = 'score' définit le nouveau nom de colonne de la valeur d'origine et génère enfin trois colonnes, notamment le nom, le sujet et le score.

PythonCanBeoptimizedFormemory-Boundoperations AdreductoverHeadHroughGenerators, EfficientDatastructures et ManagingObjectliFetimes.first, useGeneratorsInSteadofListStoproceSlargedataseSeItematatime, EvitingLoadingEnteryToMeToMeMory.
