>  기사  >  백엔드 개발  >  Python을 크롤러로 사용하는 이유는 무엇입니까?

Python을 크롤러로 사용하는 이유는 무엇입니까?

尚
원래의
2019-07-06 14:43:113779검색

Python을 크롤러로 사용하는 이유는 무엇입니까?

웹 크롤러란 무엇인가요?

웹 크롤러는 검색 엔진용 World Wide Web에서 웹 페이지를 자동으로 추출하는 프로그램이며 검색 엔진의 중요한 구성 요소입니다. 기존 크롤러는 하나 또는 여러 개의 초기 웹페이지의 URL에서 시작하여 웹페이지를 크롤링하는 동안 현재 페이지에서 새로운 URL을 지속적으로 추출하여 특정 URL이 나올 때까지 대기열에 넣습니다. 시스템 정지 조건이 충족되었습니다

크롤러 용도가 무엇인가요?

범용 검색 엔진 웹 수집기입니다. (google, baidu)는 과학 연구: 온라인 인간 행동, 온라인 커뮤니티 진화, 인간 역학 연구, 계량 사회학, 복잡한 네트워크, 데이터 마이닝 및 기타 분야에는 많은 양의 데이터가 필요합니다. 관련 데이터를 수집하는 도구입니다. 엿보기, 해킹, 스팸...

크롤러는 검색 엔진의 첫 번째이자 가장 쉬운 단계입니다

Python을 크롤러로 사용하는 이유는 무엇입니까?

크롤러를 작성하려면 어떤 언어를 사용해야 합니까?

C, C++. 매우 효율적이고 빠르며 전체 웹을 크롤링하는 일반 검색 엔진에 적합합니다. 단점: 개발이 느리고 작성이 냄새나고 길다. 예: Skynet 검색 소스 코드. 스크립팅 언어: Perl, Python, Java, Ruby. 간단하고 배우기 쉬우며 좋은 텍스트 처리를 통해 웹 콘텐츠를 자세히 추출할 수 있지만 효율성이 높지 않은 경우가 많습니다. 소수의 웹 사이트를 집중적으로 크롤링하는 데는 C#이 적합하지 않나요? (정보 관리하는 사람들이 선호하는 언어인 듯)

크롤러로 Python을 선택한 이유:

크로스 플랫폼, Linux 및 Windows를 잘 지원합니다.

과학적 컴퓨팅, 수치 피팅: Numpy, Scipy

시각화: 2d: Matplotlib(그림이 매우 아름답습니다), 3d: Mayavi2

복잡한 네트워크: Networkx 통계: R 언어와의 인터페이스: Rpy

대화형 터미널

Rapid 웹사이트 개발

간단한 Python 크롤러

import urllib
import urllib.request

def loadPage(url,filename):
    """
    作用:根据url发送请求,获取html数据;
    :param url:
    :return:
    """
    request=urllib.request.Request(url)
    html1= urllib.request.urlopen(request).read()
    return  html1.decode('utf-8')

def writePage(html,filename):
    """
    作用将html写入本地

    :param html: 服务器相应的文件内容
    :return:
    """
    with open(filename,'w') as f:
        f.write(html)
    print('-'*30)
def tiebaSpider(url,beginPage,endPage):
    """
    作用贴吧爬虫调度器,负责处理每一个页面url;
    :param url:
    :param beginPage:
    :param endPage:
    :return:
    """
    for page in range(beginPage,endPage+1):
        pn=(page - 1)*50
        fullurl=url+"&pn="+str(pn)
        print(fullurl)
        filename='第'+str(page)+'页.html'
        html= loadPage(url,filename)

        writePage(html,filename)



if __name__=="__main__":
    kw=input('请输入你要需要爬取的贴吧名:')
    beginPage=int(input('请输入起始页'))
    endPage=int(input('请输入结束页'))
    url='https://tieba.baidu.com/f?'
    kw1={'kw':kw}
    key = urllib.parse.urlencode(kw1)
    fullurl=url+key
    tiebaSpider(fullurl,beginPage,endPage)

Python 관련 기술 기사를 더 보려면 Python Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 Python을 크롤러로 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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