목차
python3 기본 크롤러 시작하는 방법
백엔드 개발 파이썬 튜토리얼 Python3 기본 크롤러 소개

Python3 기본 크롤러 소개

Sep 25, 2017 am 10:53 AM
python3 베이스 소개


python3 기본 크롤러 시작하는 방법

블로그 작성이 처음이라 조금 긴장되니까 싫으면 댓글 달지 마세요.
혹시 부족한 부분이 있다면 독자님들께서 지적해 주시면 수정하도록 하겠습니다.

学习爬虫之前你需要了解(个人建议,铁头娃可以无视):
- **少许网页制作知识,起码要明白什么标签...**
- **相关语言基础知识。比如用java做爬虫起码会用Java语言,用python做爬虫起码要会用python语言...**
- **一些网络相关知识。比如TCP/IP、cookie之类的知识,明白网页打开的原理。**
- **国家法律。知道哪些能爬,哪些不能爬,别瞎爬。**
로그인 후 복사

제목에서 알 수 있듯이 이 문서의 모든 코드는 python3.6.X를 사용합니다.

먼저 설치해야 합니다(pip3 install xxxx 그러면 한 번의 클릭으로 괜찮습니다)

  1. requests 모듈

  2. BeautifulSoup 모듈(또는 lxml 모듈)

이 두 라이브러리는 매우 강력합니다. , 요청은 웹 페이지를 보내는 데 사용됩니다. 웹 페이지 요청 및 열기, beautifulsoup 및 lxml은 콘텐츠를 구문 분석하고 원하는 것을 추출하는 데 사용됩니다. BeautifulSoup은 정규식을 선호하고 lxml은 XPath를 선호합니다. 나는 beautifulsoup 라이브러리를 사용하는 데 더 익숙하기 때문에 이 기사에서는 lxml에 대해 너무 자세히 설명하지 않고 beautifulsoup 라이브러리를 주로 사용합니다. (사용하기 전에 문서를 읽는 것이 좋습니다)

크롤러의 주요 구조:

  • 관리자: 크롤링하려는 주소를 관리합니다.

  • 다운로더: 웹페이지 정보를 다운로드합니다.

  • 필터: 다운로드한 웹페이지 정보에서 필요한 콘텐츠를 필터링합니다.

  • 저장소: 다운로드한 항목을 저장하고 싶은 곳에 저장하세요. (실제 상황에 따라 선택사항입니다.)

기본적으로 제가 접한 모든 웹 크롤러는 sracpy부터 urllib까지 이 구조를 벗어날 수 없습니다. 이 구조만 알면 외울 필요가 없다. 글을 쓸 때 최소한 무엇을 쓰고 있는지 알 수 있고, 버그가 생겼을 때 어디에 디버그해야 할지 알 수 있다는 장점이 있다.

앞에 말도 안 되는 내용이 많아요... 본문은 다음과 같습니다.

이 글에서는 크롤링 https://baike.baidu.com/item/Python을 사용합니다(예로 Python의 Baidu 항목).

(스크린샷 찍는게 너무 번거로워서..이 글에 사진만 있을거에요)

파이썬 항목 내용을 크롤링하려면 우선 크롤링하려는 URL을 알아야 합니다. :

url = 'https://baike.baidu.com/item/Python'
로그인 후 복사

이 페이지만 크롤링하면 되니까 관리자님은 괜찮습니다 .

 html = request.urlopen(url)
로그인 후 복사

urlopen() 함수를 호출하면 다운로더는 괜찮습니다

    Soup = BeautifulSoup(html,"html.parser")
    baike = Soup.find_all("p",class_='lemma-summary')
로그인 후 복사

Find_all 함수와 함께 Beautifulsoup 라이브러리의 beautifulsoup 함수를 사용하면 파서는 괜찮습니다.
여기서 find_all 함수의 반환 값은 다음과 같습니다. 목록. 따라서 출력은 루프로 인쇄되어야 합니다.

이 예제는 저장할 필요가 없으므로 직접 인쇄할 수 있으므로

for content in baike:    
print (content.get_text())
로그인 후 복사

get_text()를 사용하여 라벨의 텍스트를 추출합니다.

위 코드 정리:

import requestsfrom bs4 import BeautifulSoupfrom urllib import requestimport reif __name__ == '__main__':
    url = 'https://baike.baidu.com/item/Python'
    html = request.urlopen(url)
    Soup = BeautifulSoup(html,"html.parser")
    baike = Soup.find_all("p",class_='lemma-summary')    for content in baike:        print (content.get_text())
로그인 후 복사

바이두 백과사전 항목이 나타납니다.
비슷한 방법으로 일부 소설, 사진, 헤드라인 등도 크롤링할 수 있으며 결코 항목에만 국한되지 않습니다.
이 기사를 마친 후 이 프로그램을 작성할 수 있다면 축하합니다. 시작하신 것입니다. 코드를 절대 외우지 마세요.

단계가 생략되었습니다...전체 과정이 좀 거칠네요...미안해요...빠졌네요( ̄ー ̄)...

위 내용은 Python3 기본 크롤러 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Python ORM 성능 벤치마크: 다양한 ORM 프레임워크 비교 Python ORM 성능 벤치마크: 다양한 ORM 프레임워크 비교 Mar 18, 2024 am 09:10 AM

ORM(객체 관계형 매핑) 프레임워크는 Python 개발에서 중요한 역할을 하며, 객체와 관계형 데이터베이스 사이에 브리지를 구축하여 데이터 액세스 및 관리를 단순화합니다. 다양한 ORM 프레임워크의 성능을 평가하기 위해 이 기사에서는 다음과 같은 널리 사용되는 프레임워크를 벤치마킹합니다. sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM 테스트 방법 벤치마크에서는 100만 개의 레코드가 포함된 SQLite 데이터베이스를 사용합니다. 테스트는 데이터베이스에서 다음 작업을 수행했습니다. 삽입: 테이블에 10,000개의 새 레코드를 삽입합니다. 읽기: 테이블의 모든 레코드를 읽습니다. 업데이트: 테이블의 모든 레코드에 대해 단일 필드를 업데이트합니다. 삭제: 테이블의 모든 레코드를 삭제합니다. 각 작업

Yii 프레임워크 소개: Yii의 핵심 개념 이해 Yii 프레임워크 소개: Yii의 핵심 개념 이해 Jun 21, 2023 am 09:39 AM

Yii 프레임워크는 웹 애플리케이션을 개발할 때 효율성과 안정성이 뛰어난 고성능, 확장성, 유지 관리 가능성이 높은 PHP 개발 프레임워크입니다. Yii 프레임워크의 가장 큰 장점은 고유한 기능과 개발 방법이면서 동시에 많은 실용적인 도구와 기능을 통합한다는 것입니다. Yii 프레임워크의 핵심 개념인 MVC 패턴 Yii는 애플리케이션을 비즈니스 로직 처리 모델과 사용자 인터페이스 표현 모델이라는 세 가지 독립적인 부분으로 나누는 패턴인 MVC(Model-View-Controller) 패턴을 채택합니다. .

PHP 기본 튜토리얼: 초보자부터 마스터까지 PHP 기본 튜토리얼: 초보자부터 마스터까지 Jun 18, 2023 am 09:43 AM

PHP는 웹 개발의 모든 작업을 처리할 수 있는 널리 사용되는 오픈 소스 서버 측 스크립팅 언어입니다. PHP는 웹 개발에 널리 사용되며, 특히 동적 데이터 처리에 뛰어난 성능을 발휘하여 많은 개발자들에게 사랑받고 사용되고 있습니다. 이 기사에서는 초보자가 시작부터 능숙해질 수 있도록 PHP의 기본 사항을 단계별로 설명합니다. 1. 기본 구문 PHP는 코드가 HTML, CSS 및 JavaScript와 유사한 해석 언어입니다. 모든 PHP 문은 세미콜론으로 끝납니다.

빅데이터 프로젝트에 Python ORM 적용 빅데이터 프로젝트에 Python ORM 적용 Mar 18, 2024 am 09:19 AM

ORM(객체 관계형 매핑)은 개발자가 SQL 쿼리를 직접 작성하지 않고도 객체 프로그래밍 언어를 사용하여 데이터베이스를 조작할 수 있도록 하는 프로그래밍 기술입니다. Python의 ORM 도구(예: SQLAlchemy, Peewee 및 DjangoORM)는 빅 데이터 프로젝트의 데이터베이스 상호 작용을 단순화합니다. 장점 코드 단순성: ORM을 사용하면 긴 SQL 쿼리를 작성할 필요가 없으므로 코드 단순성과 가독성이 향상됩니다. 데이터 추상화: ORM은 데이터베이스 구현 세부 사항에서 애플리케이션 코드를 분리하여 유연성을 향상시키는 추상화 계층을 제공합니다. 성능 최적화: ORM은 캐싱 및 일괄 작업을 사용하여 데이터베이스 쿼리를 최적화함으로써 성능을 향상시키는 경우가 많습니다. 이식성: ORM을 통해 개발자는 다음을 수행할 수 있습니다.

일반적으로 사용되는 7가지 Java 디자인 패턴에 대해 심층적으로 이해하세요. 일반적으로 사용되는 7가지 Java 디자인 패턴에 대해 심층적으로 이해하세요. Dec 23, 2023 pm 01:01 PM

Java 디자인 패턴 이해: 일반적으로 사용되는 7가지 디자인 패턴에 대한 소개, 특정 코드 예제가 필요합니다. Java 디자인 패턴은 널리 수용되는 일련의 디자인 아이디어와 행동 ​​강령을 제공합니다. 디자인 패턴은 코드 구조를 더 잘 구성하고 계획하는 데 도움이 되므로 코드의 유지 관리, 읽기 및 확장성이 향상됩니다. 이 글에서는 Java에서 일반적으로 사용되는 7가지 디자인 패턴을 소개하고 해당 코드 예제를 제공합니다. 싱글톤 패트

Python ORM을 사용하여 효율적인 데이터 지속성 구현 Python ORM을 사용하여 효율적인 데이터 지속성 구현 Mar 18, 2024 am 09:25 AM

ORM(Object-Relational Mapping)은 객체지향 프로그래밍 언어와 관계형 데이터베이스를 연결하는 기술입니다. pythonORM을 사용하면 데이터 지속성 작업이 크게 단순화되어 애플리케이션 개발 효율성과 유지 관리성이 향상됩니다. PythonORM을 사용하면 다음과 같은 장점이 있습니다. 상용구 코드 감소: ORM은 자동으로 SQL 쿼리를 생성하므로 많은 상용구 코드를 작성하지 않아도 됩니다. 데이터베이스 상호 작용 단순화: ORM은 데이터베이스와의 상호 작용을 위한 통합 인터페이스를 제공하여 데이터 작업을 단순화합니다. 보안 향상: ORM은 SQL 주입과 같은 보안 취약성을 방지할 수 있는 매개변수화된 쿼리를 사용합니다. 데이터 일관성 향상: ORM은 개체와 데이터베이스 간의 동기화를 보장하고 데이터 일관성을 유지합니다. ORM을 선택하세요

Python Tkinter를 사용하여 프로젝트에 GUI 매력을 추가하세요. Python Tkinter를 사용하여 프로젝트에 GUI 매력을 추가하세요. Mar 24, 2024 am 09:46 AM

Tkinter는 Python에서 그래픽 사용자 인터페이스(GUI)를 생성하기 위한 강력한 라이브러리입니다. 단순성, 플랫폼 간 호환성, Python 생태계와의 원활한 통합으로 잘 알려져 있습니다. Tkinter를 사용하면 프로젝트에 사용자 친화적인 인터페이스를 추가하여 사용자 경험을 개선하고 애플리케이션과의 상호 작용을 단순화할 수 있습니다. Tkinter GUI 응용 프로그램 만들기 Tkinter를 사용하여 GUI 응용 프로그램을 만들려면 다음 단계를 수행하십시오. Tkinter 라이브러리 가져오기: importtkinterastk Tkinter 기본 창 만들기: root=tk.Tk() 기본 창 구성: 창 제목, 크기, 위치 설정 등. GUI 요소 추가: Tki 사용

초보자에서 마스터까지: Java Git 단기 집중 강좌 초보자에서 마스터까지: Java Git 단기 집중 강좌 Mar 27, 2024 pm 10:41 PM

Git은 팀이 소프트웨어 개발에 협력하는 데 도움이 되는 분산 버전 제어 시스템입니다. Java 개발자의 경우 Git을 이해하는 것은 코드 변경 관리, 코드 기록 추적 및 다른 사람들과의 협업을 위한 플랫폼을 제공하므로 중요합니다. 초보자를 위한 Git 설치(기본 사항 이해): Git 소프트웨어를 설치하고 환경 변수를 설정합니다. 저장소 생성: gitinit를 사용하여 로컬 저장소를 생성합니다. 파일 추가: gitadd를 사용하여 스테이징 영역에 파일을 추가합니다. 변경 사항 커밋: gitcommit을 사용하여 스테이징 영역의 변경 사항을 로컬 저장소에 커밋합니다. 중간(협업 및 버전 제어) 복제 저장소: gitclone을 사용하여 원격 저장소에서 로컬 복사본을 복제합니다. 분기 및 병합: 분기를 사용하여 코드의 격리된 복사본 만들기

See all articles