>백엔드 개발 >파이썬 튜토리얼 >Python 데이터 캡처의 세 가지 방법 소개

Python 데이터 캡처의 세 가지 방법 소개

coldplay.xixi
coldplay.xixi앞으로
2021-02-13 10:30:074671검색

Python 데이터 캡처의 세 가지 방법 소개

추천 무료 학습: python 비디오 튜토리얼

세 가지 데이터 수집 방법

  1. 정규 표현식(재 라이브러리)
  2. 아름답다 수프(b s4)
  3. lxml

*이전에 구축된 다운로드 웹 페이지 기능을 사용하여 대상 웹 페이지의 html을 얻으려면 https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/를 예로 들어 보겠습니다.

Python 데이터 캡처의 세 가지 방법 소개

from get_html import download

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

* 이 웹페이지에서 국가 이름과 프로필을 크롤링해야 한다고 가정하면, 데이터 크롤링을 달성하기 위해 이 세 가지 데이터 크롤링 방법을 차례로 사용합니다.
1. 정규식

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='')

작업 결과:
Python 데이터 캡처의 세 가지 방법 소개
마지막으로 "Writing a Web Crawler in Python"에서 세 가지 방법의 성능 비교를 인용해 보겠습니다. 다음 그림:
Python 데이터 캡처의 세 가지 방법 소개
참고용으로만 사용하세요.

관련 무료 학습 권장 사항: python 튜토리얼(동영상)

위 내용은 Python 데이터 캡처의 세 가지 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

관련 기사

더보기