Scrapy를 사용하여 Douban 도서와 평점 및 댓글을 크롤링하는 방법은 무엇입니까?
인터넷의 발달과 함께 사람들은 정보를 얻기 위해 인터넷에 점점 더 의존하고 있습니다. 책을 좋아하는 사람들에게 Douban Books는 없어서는 안 될 플랫폼이 되었습니다. 또한, Douban Books는 풍부한 도서 평점과 리뷰를 제공하여 독자들이 책을 보다 포괄적으로 이해할 수 있도록 해줍니다. 그러나 이 정보를 수동으로 얻는 것은 건초 더미에서 바늘을 찾는 것과 같습니다. 이때 Scrapy 도구를 사용하여 데이터를 크롤링할 수 있습니다.
Scrapy는 Python 기반의 오픈 소스 웹 크롤러 프레임워크로, 웹 사이트에서 데이터를 효율적으로 추출하는 데 도움이 됩니다. 이 기사에서는 단계에 중점을 두고 Scrapy를 사용하여 Douban 도서를 크롤링하는 방법과 평점 및 댓글을 자세히 소개합니다.
1단계: Scrapy 설치
먼저 컴퓨터에 Scrapy를 설치해야 합니다. pip(Python 패키지 관리 도구)를 설치한 경우 터미널이나 명령줄에 다음 명령만 입력하면 됩니다.
pip install scrapy
이렇게 하면 Scrapy가 컴퓨터에 설치됩니다. 오류나 경고가 발생하는 경우 프롬프트에 따라 적절하게 조정하는 것이 좋습니다.
2단계: 새 Scrapy 프로젝트 만들기
다음으로 터미널이나 명령줄에 다음 명령을 입력하여 새 Scrapy 프로젝트를 만들어야 합니다.
scrapy startproject douban
이 명령은 현재 디렉터리에 douban이라는 폴더를 만듭니다. 여기에는 Scrapy의 기본 파일 및 디렉터리 구조가 포함되어 있습니다.
3단계: 크롤러 프로그램 작성
Scrapy에서는 웹사이트에서 데이터를 추출하는 방법을 Scrapy에게 알려주는 크롤러 프로그램을 작성해야 합니다. 따라서 douban_spider.py
라는 새 파일을 만들고 다음 코드를 작성해야 합니다. douban_spider.py
的文件,并编写如下代码:
import scrapy class DoubanSpider(scrapy.Spider): name = 'douban' allowed_domains = ['book.douban.com'] start_urls = ['https://book.douban.com/top250'] def parse(self, response): selector = scrapy.Selector(response) books = selector.xpath('//tr[@class="item"]') for book in books: title = book.xpath('td[2]/div[1]/a/@title').extract_first() author = book.xpath('td[2]/div[1]/span[1]/text()').extract_first() score = book.xpath('td[2]/div[2]/span[@class="rating_nums"]/text()').extract_first() comment_count = book.xpath('td[2]/div[2]/span[@class="pl"]/text()').extract_first() comment_count = comment_count.strip('()') yield {'title': title, 'author': author, 'score': score, 'comment_count': comment_count}
上面的代码实现了两个功能:
- 爬取豆瓣图书 top250 页面中的书籍标题、作者、评分和评论数。
- 将爬取到的数据以字典的形式返回。
在这个程序中,我们首先需要定义一个 DoubanSpider
类,并指定爬虫的名称、允许爬虫访问的域名和起始 URL。在 parse
方法中,我们通过 scrapy.Selector
对象进行 HTML 页面解析,并使用 XPath 表达式获取书籍的相关信息。
获取数据后,我们使用 yield
关键字将数据以字典的形式返回。这里的 yield
关键字的作用是将函数变成一个生成器,实现一次返回一个数据的效果。在 Scrapy 中,我们可以通过定义生成器的方式,实现对网站数据的高效抓取。
第四步:运行爬虫程序
在编写完爬虫程序后,我们需要在终端或命令行中运行以下代码来启动爬虫程序:
scrapy crawl douban -o result.json
这个指令的作用是启动名为 douban
rrreee
- 상위 250권의 Douban 도서 크롤링 Book 페이지의 제목, 작성자, 평점 및 리뷰 수입니다.
- 크롤링된 데이터를 사전 형태로 반환합니다.
DoubanSpider
클래스를 정의하고 크롤러 이름, 도메인 이름 및 크롤러가 액세스할 수 있는 시작 URL을 지정해야 합니다. parse
메소드에서는 scrapy.Selector
객체를 통해 HTML 페이지를 구문 분석하고 XPath 표현식을 사용하여 책에 대한 관련 정보를 얻습니다. 데이터를 얻은 후 yield
키워드를 사용하여 사전 형태로 데이터를 반환합니다. 여기서 yield
키워드는 함수를 생성기로 전환하여 한 번에 하나의 데이터를 반환하는 효과를 얻는 데 사용됩니다. Scrapy에서는 생성기를 정의하여 웹사이트 데이터를 효율적으로 크롤링할 수 있습니다. 🎜🎜4단계: 크롤러 프로그램 실행🎜🎜크롤러 프로그램을 작성한 후 크롤러 프로그램을 시작하려면 터미널이나 명령줄에서 다음 코드를 실행해야 합니다. 🎜rrreee🎜이 명령의 기능은 크롤러 프로그램을 시작하는 것입니다. douban
이라는 이름을 지정하고 크롤링된 데이터를 JSON 형식으로 result.json 파일에 출력합니다. 🎜🎜위의 4단계를 통해 Douban 도서와 평점, 리뷰 정보를 성공적으로 크롤링할 수 있습니다. 물론, 크롤러 프로그램의 효율성과 안정성을 더욱 향상시켜야 한다면 몇 가지 다른 최적화 및 조정도 필요합니다. 예: 지연 시간 설정, 크롤링 방지 메커니즘 방지 등 🎜🎜간단히 말하면 Scrapy를 사용하여 Douban 도서와 해당 도서의 평가 및 리뷰 정보를 크롤링하는 것은 비교적 간단하고 흥미로운 작업입니다. 데이터 크롤링과 Python 프로그래밍에 관심이 있다면 다른 웹사이트에서 데이터 크롤링을 추가로 시도하여 프로그래밍 기술을 향상시킬 수 있습니다. 🎜위 내용은 Scrapy를 사용하여 Douban 도서와 평점 및 댓글을 크롤링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Scrapy는 WeChat 공개 계정의 기사 크롤링 및 분석을 구현합니다. WeChat은 최근 몇 년 동안 인기 있는 소셜 미디어 애플리케이션이며, 여기서 운영되는 공개 계정도 매우 중요한 역할을 합니다. 우리 모두 알고 있듯이 WeChat 공개 계정은 정보와 지식의 바다입니다. 왜냐하면 각 공개 계정은 기사, 그래픽 메시지 및 기타 정보를 게시할 수 있기 때문입니다. 이 정보는 언론보도, 학술연구 등 다양한 분야에서 폭넓게 활용될 수 있습니다. 그래서 이 글에서는 Scrapy 프레임워크를 사용하여 WeChat 공개 계정 글을 크롤링하고 분석하는 방법을 소개하겠습니다. Scr

소개 지난주에 메타데이터 수집을 위해 웹페이지를 스크래핑하는 방법에 대한 소개를 썼고, 뉴욕타임즈 웹사이트는 스크래핑이 불가능하다고 언급했습니다. New York Times 페이월은 기본 메타데이터 수집 시도를 차단합니다. 하지만 New York Times API를 사용하면 이 문제를 해결할 수 있는 방법이 있습니다. 최근 저는 Yii 플랫폼에 커뮤니티 웹사이트를 구축하기 시작했습니다. 이는 향후 튜토리얼에서 게시할 예정입니다. 사이트 콘텐츠와 관련된 링크를 쉽게 추가하고 싶습니다. 사람들은 양식에 URL을 쉽게 붙여넣을 수 있지만 제목과 출처 정보를 제공하는 데는 시간이 많이 걸립니다. 그래서 오늘의 튜토리얼에서는 New York Times API를 활용하여 New York Times에 링크를 추가할 때 헤드라인을 수집하도록 최근에 작성한 스크래핑 코드를 확장하겠습니다. 기억해, 나도 관련돼 있어

Scrapy는 웹사이트에서 데이터를 빠르고 효율적으로 얻을 수 있는 오픈 소스 Python 크롤러 프레임워크입니다. 그러나 많은 웹사이트는 Ajax 비동기 로딩 기술을 사용하므로 Scrapy가 데이터를 직접 얻는 것이 불가능합니다. 이 기사에서는 Ajax 비동기 로딩을 기반으로 한 Scrapy 구현 방법을 소개합니다. 1. Ajax 비동기 로딩 원리 Ajax 비동기 로딩: 전통적인 페이지 로딩 방법에서는 브라우저가 서버에 요청을 보낸 후 서버가 응답을 반환할 때까지 기다려야 다음 단계로 진행하기 전에 전체 페이지를 로드해야 합니다.

Douban 앱에서 영어 모드를 설정하는 방법은 무엇입니까? Douban 앱은 다양한 리소스에 대한 리뷰를 볼 수 있는 소프트웨어입니다. 이 소프트웨어에는 많은 기능이 있습니다. 사용자가 이 소프트웨어를 처음 사용하는 경우 로그인이 필요하며 이 소프트웨어의 기본 언어는 중국어 모드의 경우 일부입니다. 사용자는 영어 모드를 사용하고 싶어하지만 이 소프트웨어에서 영어 모드를 설정하는 방법을 모릅니다. 아래 편집기는 참고용으로 영어 모드 설정 방법을 정리했습니다. Douban 앱에서 영어 모드를 설정하는 방법: 1. 휴대폰에서 "Douban" 앱을 엽니다. 2. "내"를 클릭합니다. 3. 오른쪽 상단에서 "설정"을 선택합니다.

Scrapy는 인터넷에서 관련 정보를 빠르고 쉽게 얻을 수 있는 Python 기반 크롤러 프레임워크입니다. 이 기사에서는 Scrapy 사례를 사용하여 LinkedIn에서 회사 정보를 크롤링하는 방법을 자세히 분석합니다. 대상 URL 결정 먼저 대상이 LinkedIn의 회사 정보임을 분명히 해야 합니다. 따라서 LinkedIn 회사 정보 페이지의 URL을 찾아야 합니다. LinkedIn 웹사이트를 열고 검색창에 회사 이름을 입력한 후

PHP 프로젝트에서 API 인터페이스를 호출하여 데이터를 크롤링하고 처리하는 방법은 무엇입니까? 1. 소개 PHP 프로젝트에서는 종종 다른 웹사이트에서 데이터를 크롤링하고 이러한 데이터를 처리해야 합니다. 많은 웹사이트에서는 API 인터페이스를 제공하며, 우리는 이러한 인터페이스를 호출하여 데이터를 얻을 수 있습니다. 이 기사에서는 PHP를 사용하여 API 인터페이스를 호출하여 데이터를 크롤링하고 처리하는 방법을 소개합니다. 2. API 인터페이스의 URL과 매개변수를 얻으십시오. 시작하기 전에 대상 API 인터페이스의 URL과 필수 매개변수를 얻어야 합니다.

Scrapy는 인터넷에서 대량의 데이터를 얻는 데 사용할 수 있는 강력한 Python 크롤러 프레임워크입니다. 그러나 Scrapy를 개발할 때 중복된 URL을 크롤링하는 문제에 자주 직면하게 되는데, 이는 많은 시간과 자원을 낭비하고 효율성에 영향을 미칩니다. 이 기사에서는 중복 URL의 크롤링을 줄이고 Scrapy 크롤러의 효율성을 향상시키는 몇 가지 Scrapy 최적화 기술을 소개합니다. 1. Scrapy 크롤러의 start_urls 및 allowed_domains 속성을 사용하여

8월 17일 본 사이트의 소식에 따르면 20세기 픽쳐스의 우주 스릴러 영화 '에일리언: 라스트 쉽(Alien: The Last Ship)'이 어제(16일) 중국 본토에서 개봉됐다고 오늘 도우반 점수가 7.7로 발표됐다. 비콘 프로페셔널 에디션 실시간 데이터에 따르면, 영화는 8월 17일 20시 5분 기준으로 흥행수입 1억개를 넘어섰다. 본 사이트의 시청률 분포는 다음과 같습니다. 별 5개 20.9% 별 4개 49.5% 별 3개 25.4% 별 2개 3.7% 별 1개 0.6% '에이리언: 죽음의 배'가 제작진입니다. 20세기 픽쳐스, '블레이드 러너', '프로메테우스'의 감독 리들리 스콧이 프로듀서를 맡고, 페데 알바레가 감독하고, 페데 알바레와 로도 세이아게스가 각본을 맡았으며, 카드 리 스패니, 이사벨라 머세드, 에일린 우, 스파이크 페이가 참여했다.
