>  기사  >  시스템 튜토리얼  >  Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

王林
王林앞으로
2024-02-19 23:45:35663검색

스테이션B는 다들 잘 아실 거라 생각합니다. 사실 스테이션B 크롤러 홈페이지에는 검색량이 많이 나오더라구요. 하지만 종이에서 읽은 내용은 결국 얕고, 자세하게 해야 한다는 걸 확실히 알기에 여기까지 왔습니다. 결국 크롤링된 데이터의 총량은 760만 이었습니다.

준비

먼저 스테이션 B를 열고, 홈페이지에서 영상을 찾아 클릭해주세요. 정상적인 작동을 위해서는 개발자 도구를 엽니다. 이번에는 웹페이지를 파싱하지 않고 스테이션 B에서 제공하는 API를 크롤링해 영상정보를 얻는 것이 목표다. 웹페이지 파싱 속도가 너무 느리고 IP 주소가 쉽게 차단된다.

JS 옵션을 확인하고 F5를 눌러 새로고침하세요

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

API 주소를 찾았습니다

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

복사해서 불필요한 내용을 제거하고 https://api.bilibili.com/x/web-interface/archive/stat?aid=15906633을 받으세요. 브라우저로 열면 다음과 같은 json 데이터를 얻을 수 있습니다

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

실습 코딩

자, 이제 코드를 코딩할 수 있습니다. 요청을 통한 지속적인 반복을 통해 데이터를 얻습니다. 크롤러를 더욱 효율적으로 만들기 위해 멀티스레딩을 사용할 수 있습니다.

핵심 코드

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

반복 크롤링

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

전체 프로젝트에서 가장 중요한 부분은 약 20줄의 코드로 매우 간결합니다.

실행 효과는 대략 이렇습니다. 숫자는 얼마나 많은 링크가 크롤링되었는지를 나타냅니다. 실제로 전체 사이트 정보는 하루 또는 이틀 만에 크롤링될 수 있습니다.

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

크롤링 후 처리 방법은 사용자의 취향에 따라 먼저 csv 파일로 저장한 후 요약하여 데이터베이스에 삽입합니다.

데이터베이스 테이블

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

몇 달 전에 이 콘텐츠를 크롤링한 이후로 데이터가 실제로 약간 뒤쳐져 있습니다.

총 데이터량

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

가장 많이 재생된 동영상 상위 10개를 확인하세요

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

답글이 가장 많은 상위 10개 동영상을 확인하세요

Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.

위 내용은 Python을 사용하여 B 스테이션의 전체 비디오 정보를 크롤링합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 linuxprobe.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제