>  기사  >  백엔드 개발  >  Python으로 웹 크롤러를 구현하는 방법

Python으로 웹 크롤러를 구현하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-10-21 15:09:0827564검색

Python에서 웹 크롤러를 구현하는 방법: 1. 요청 라이브러리의 get 메소드를 사용하여 URL의 웹페이지 콘텐츠를 요청합니다. 2. [find()] 및 [find_all()] 메소드는 HTML을 탐색할 수 있습니다. 파일을 만들고 지정된 정보를 추출합니다. Python Python에서 웹 크롤러를 구현하는 방법 :

Python으로 웹 크롤러를 구현하는 방법Step 1 : Crawlames 요청 라이브러리에서 GET 메소드를 사용하여 URL

WRITE CODE의 웹 컨텐츠를 요청하십시오

[root@localhost demo]# touch demo.py
[root@localhost demo]# vim demo.py
RREE
#web爬虫学习 -- 分析
#获取页面信息
 
#输入:url
#处理:request库函数获取页面信息,并将网页内容转换成为人能看懂的编码格式
#输出:爬取到的内容
 
import requests
 
def getHTMLText(url):
    try:
        r = requests.get( url, timeout=30 )
        r.raise_for_status()    #如果状态码不是200,产生异常
        r.encoding = 'utf-8'    #字符编码格式改成 utf-8
        return r.text
    except:
        #异常处理
        return " error "
 
url = "http://www.baidu.com"
print( getHTMLText(url) )

2단계: 분석

bs4 라이브러리의 BeautifulSoup 클래스를 사용하여 객체를 생성합니다. find() 및 find_all() 메소드는 이 HTML 파일을 탐색하여 지정된 정보를 추출할 수 있습니다.

코드 작성

[root@localhost demo]# python3 demo.py
[root@localhost demo]# touch demo1.py
[root@localhost demo]# vim demo1.py
#web爬虫学习 -- 分析
#获取页面信息
 
#输入:url
#处理:request库获取页面信息,并从爬取到的内容中提取关键信息
#输出:打印输出提取到的关键信息
 
import requests
from bs4 import BeautifulSoup
import re
 
def getHTMLText(url):
    try:
        r = requests.get( url, timeout=30 )
        r.raise_for_status()    #如果状态码不是200,产生异常
        r.encoding = 'utf-8'    #字符编码格式改成 utf-8
        return r.text
    except:
        #异常处理
        return " error "
 
def findHTMLText(text):
    soup = BeautifulSoup( text, "html.parser" )    #返回BeautifulSoup对象
    return soup.find_all(string=re.compile( '百度' )) #结合正则表达式,实现字符串片段匹配
 
url = "http://www.baidu.com"
text = getHTMLText(url)        #获取html文本内容
res = findHTMLText(text)    #匹配结果
 
print(res)        #打印输出
Python으로 웹 크롤러를 구현하는 방법

관련 무료 학습 권장사항:

python 비디오 튜토리얼

Python으로 웹 크롤러를 구현하는 방법

위 내용은 Python으로 웹 크롤러를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.