今天帮朋友爬取豆瓣电影的数据,以便进行社交网络分析。
首先打开豆瓣电影,然后点击 分类 ,选择要爬取的特定电影
这里以国产喜剧片为例:依次点击 电影、喜剧、中国大陆
然后点击一个小的列表按键
找到我们要爬取的数据
下拉到最底部,有一个 加载更多
点击会出现新的电影数据。说明这是一个动态网站,需要使用selenium来爬取。
selenium 是一个非常简单方便的库,用来模拟人进行上述操作。但是需要提前安装好这个库,而且需要安装火狐或者Chrome浏览器的geckodriver,具体的细节可以阅读官方教程,或者其他网上的一些教程。
这里以点击 加载更多 10次为例,爬取200部电影数据。
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Sun Dec 20 10:10:41 2020
@author: zxw
"""
# 引入库
from selenium import webdriver
import time
import pandas as pd
start_url = 'https://movie.douban.com/'
def get_driver():
try:
return webdriver.PhantomJS()
except Exception:
return webdriver.Firefox()
driver