爬取猫眼电影榜单top100

165 阅读2分钟

使用python,爬取猫眼电影榜单top100

要使用 Python 爬取猫眼电影榜单 top 100,可以使用 requests 和 BeautifulSoup 这两个库。

代码可能会随着猫眼电影网站的更新而失效,因为网站的结构可能会改变。如果遇到这种情况,你可能需要调整代码以适应新的网站结构。此外,过度的网络请求可能会被视为恶意行为,所以请确保你的行为符合网站的使用条款。

在对网页进行抓取和解析时,一定要遵守相关法律法规以及网站的Robots协议,不要对网站造成过大的访问压力。

```# 爬取猫眼电影榜单top100
#地址:http://maoyan.com/board/4

import requests
from bs4 import BeautifulSoup
import re

titles = []  # 电影名字
stars = []  # 主演
times = []  # 上映时间
scores = []  # 评分

def getList():
    for page in range(0,100,10):
        url = "http://maoyan.com/board/4"+"?offset="+str(page)
        headers= {
            "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
        }
        rsp = requests.get(url,headers=headers)
        html = rsp.text
        soup = BeautifulSoup(html,'lxml')
        dd = soup.find_all('dd')
        for i in dd:
            movie_title = i.find(class_='name').get_text()
            #print(title.get_text())
            titles.append(movie_title)
            movie_star = i.find(class_='star').get_text()
            movie_star=re.findall('主演:(.*)',movie_star)
            stars.append(movie_star)
            movie_time = i.find(class_='releasetime').get_text()
            movie_time=re.findall('上映时间:(.*)',movie_time)
            times.append(movie_time)
            movie_score_interger = i.find(class_='integer').get_text()
            movie_score_num = i.find(class_='fraction').get_text()
            movie_score=movie_score_interger+movie_score_num
            scores.append(movie_score)


def write_txt():
    file = open('maoyan.txt',"w")
    for i in range(100):
        one_write = str(titles[i])+"--- "+str(times[i])+"--- "+str(scores[i])+"--- "+str(stars[i])+"\n"
        file.write(one_write)
    file.close()

if __name__ == '__main__':
    getList()
    write_txt()

Python 是一种非常适合网络爬虫编程的语言,原因主要有以下几点:

  1. 易学易用:Python 的语法简洁清晰,易于理解,非常适合初学者入门。
  2. 大量支持库:Python 有众多的支持库,包括但不限于 requests,BeautifulSoup,Scrapy,Selenium 等,这些库使得在 Python 中进行网络爬虫变得非常简单。
  3. 跨平台性:Python 可用于各种操作系统,包括 Windows,Linux 和 MacOS 等。
  4. 丰富的数据处理功能:Python 的数据处理能力非常强大,包括 Pandas,Numpy,Matplotlib,Seaborn 等库,可以方便地处理和分析爬取的数据。