>  기사  >  백엔드 개발  >  Python의 실제 크롤러 전투: Toutiao 크롤러

Python의 실제 크롤러 전투: Toutiao 크롤러

WBOY
WBOY원래의
2023-06-10 13:00:142383검색

Python의 실용적인 크롤러: 오늘날의 Toutiao 크롤러

오늘날의 정보화 시대에 인터넷에는 방대한 데이터가 포함되어 있으며, 이 데이터를 분석 및 응용에 사용하려는 요구가 점점 더 높아지고 있습니다. 데이터 수집을 위한 기술적 수단 중 하나로 크롤러도 인기 있는 연구 분야 중 하나가 되었습니다. 이 기사에서는 주로 Python의 실제 크롤러를 소개하고 Python을 사용하여 Toutiao용 크롤러 프로그램을 작성하는 방법에 중점을 둡니다.

  1. 크롤러의 기본 개념

Python에서 실제 크롤러 전투를 소개하기 전에 먼저 크롤러의 기본 개념을 이해해야 합니다.

간단히 말하면 크롤러는 코드를 통해 브라우저의 동작을 시뮬레이션하고 웹사이트에서 필요한 데이터를 가져옵니다. 구체적인 프로세스는 다음과 같습니다.

  1. 요청 보내기: 코드를 사용하여 대상 웹사이트에 HTTP 요청을 보냅니다.
  2. 파싱 및 획득: 파싱 라이브러리를 사용하여 웹페이지 데이터를 구문 분석하고 필요한 콘텐츠를 분석합니다.
  3. 데이터 처리: 획득한 데이터를 로컬에 저장하거나 다른 작업에 사용합니다.
  4. Python 크롤러에 일반적으로 사용되는 라이브러리

Python 크롤러를 개발할 때 일반적으로 사용되는 라이브러리가 많이 있습니다. 가장 일반적으로 사용되는 라이브러리 중 일부는 다음과 같습니다.

  1. requests: HTTP 요청을 보내고 응답을 처리하는 데 사용되는 라이브러리 결과. .
  2. BeautifulSoup4: HTML 및 XML과 같은 문서를 구문 분석하기 위한 라이브러리.
  3. re: 데이터 추출을 위한 Python의 정규식 라이브러리입니다.
  4. scrapy: 매우 풍부한 크롤러 기능을 제공하는 인기 있는 Python 크롤러 프레임워크입니다.
  5. 오늘의 Toutiao 크롤러 연습

오늘의 Toutiao는 많은 양의 뉴스, 엔터테인먼트, 기술 및 기타 정보 콘텐츠를 포함하는 매우 인기 있는 정보 웹사이트입니다. 간단한 Python 크롤러 프로그램을 작성하여 이 콘텐츠를 얻을 수 있습니다.

시작하기 전에 먼저 요청 및 BeautifulSoup4 라이브러리를 설치해야 합니다. 설치 방법은 다음과 같습니다:

pip install requests
pip install beautifulsoup4

Toutiao 홈페이지 정보 얻기:

먼저 Toutiao 홈페이지의 HTML 코드를 가져와야 합니다.

import requests

url = "https://www.toutiao.com/"

# 发送HTTP GET请求
response = requests.get(url)

# 打印响应结果
print(response.text)

프로그램을 실행하면 Toutiao 홈페이지의 HTML 코드를 볼 수 있습니다.

뉴스 목록 가져오기:

다음으로 HTML 코드에서 뉴스 목록 정보를 추출해야 합니다. 구문 분석을 위해 BeautifulSoup 라이브러리를 사용할 수 있습니다.

import requests
from bs4 import BeautifulSoup

url = "https://www.toutiao.com/"

# 发送HTTP GET请求
response = requests.get(url)

# 创建BeautifulSoup对象
soup = BeautifulSoup(response.text, "lxml")

# 查找所有class属性为title的div标签,返回一个列表
title_divs = soup.find_all("div", attrs={"class": "title"})

# 遍历列表,输出每个div标签的文本内容和链接地址
for title_div in title_divs:
    title = title_div.find("a").text.strip()
    link = "https://www.toutiao.com" + title_div.find("a")["href"]
    print(title, link)

프로그램을 실행하면 각 뉴스의 제목과 링크 주소를 포함하여 Toutiao 홈페이지의 뉴스 목록이 출력됩니다.

뉴스 세부정보 확인:

마지막으로 각 뉴스의 세부정보를 확인할 수 있습니다.

import requests
from bs4 import BeautifulSoup

url = "https://www.toutiao.com/a6931101094905454111/"

# 发送HTTP GET请求
response = requests.get(url)

# 创建BeautifulSoup对象
soup = BeautifulSoup(response.text, "lxml")

# 获取新闻标题
title = soup.find("h1", attrs={"class": "article-title"}).text.strip()

# 获取新闻正文
content_list = soup.find("div", attrs={"class": "article-content"})
# 将正文内容转换为一个字符串
content = "".join([str(x) for x in content_list.contents])

# 获取新闻的发布时间
time = soup.find("time").text.strip()

# 打印新闻的标题、正文和时间信息
print(title)
print(time)
print(content)

프로그램을 실행하면 뉴스의 제목, 텍스트, 시간 정보가 출력됩니다.

  1. 요약

이 글의 서문을 통해 우리는 Python에서 크롤러의 기본 개념과 일반적으로 사용되는 라이브러리, Python을 사용하여 Toutiao 크롤러 프로그램을 작성하는 방법에 대해 배웠습니다. 물론 크롤러 기술은 지속적인 개선과 개선이 필요한 기술입니다. 크롤러 프로그램의 안정성을 보장하고 크롤링 방지 방법을 피하는 방법을 실제로 지속적으로 요약하고 개선해야 합니다.

위 내용은 Python의 실제 크롤러 전투: Toutiao 크롤러의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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