Maison  >  Article  >  développement back-end  >  Présentation de trois méthodes de capture de données Python

Présentation de trois méthodes de capture de données Python

coldplay.xixi
coldplay.xixiavant
2021-02-13 10:30:074548parcourir

Présentation de trois méthodes de capture de données Python

Recommandations d'apprentissage gratuites : Tutoriel vidéo Python

Trois méthodes de capture de données

  1. Expression régulière (re bibliothèque)
  2. BeautifulSoup (bs4)
  3. lxml

* Utilisez la fonction de page Web de téléchargement précédemment construite pour obtenir le html de la page Web cible. Nous prenons https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/ comme exemple pour obtenir le html.

Présentation de trois méthodes de capture de données Python

from get_html import download

url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'page_content = download(url)

* Supposons que nous devions explorer le nom et le profil du pays dans cette page Web, nous utilisons tour à tour ces trois méthodes d'exploration des données pour réaliser l'exploration des données.
1. Expression régulière

from get_html import downloadimport re

url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'page_content = download(url)country = re.findall('class="h2dabiaoti">(.*?)', page_content) #注意返回的是listsurvey_data = re.findall('<tr><td>(.*?)</td></tr>', page_content)survey_info_list = re.findall('<p>  (.*?)</p>', survey_data[0])survey_info = ''.join(survey_info_list)print(country[0],survey_info)

2.BeautifulSoup (bs4)

from get_html import downloadfrom bs4 import BeautifulSoup

url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'html = download(url)#创建 beautifulsoup 对象soup = BeautifulSoup(html,"html.parser")#搜索country = soup.find(attrs={'class':'h2dabiaoti'}).text
survey_info = soup.find(attrs={'id':'wzneirong'}).textprint(country,survey_info)

3.lxml

from get_html import downloadfrom lxml import etree #解析树url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'page_content = download(url)selector = etree.HTML(page_content)#可进行xpath解析country_select = selector.xpath('//*[@id="main_content"]/h2') #返回列表for country in country_select:
    print(country.text)survey_select = selector.xpath('//*[@id="wzneirong"]/p')for survey_content in survey_select:
    print(survey_content.text,end='')

Exécuter le résultat :
Présentation de trois méthodes de capture de données Python
Enfin , citez la comparaison des performances des trois méthodes dans « Écrire un robot d'exploration Web avec Python », comme indiqué ci-dessous :
Présentation de trois méthodes de capture de données Python
Pour référence uniquement.

Recommandations d'apprentissage gratuites associées : Tutoriel Python(vidéo)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer