使用selenium模块模拟浏览器行为访问豆瓣电影top250页面,然后爬取第一页内容之后,模拟点击下一页,从而获取接下来的网页的html代码,并且进行内容筛选。筛选出排名,名字,播放地址,导演和主演,评价数,评分和电影简介。具体实现代码如下(代码中有注释,就不一一拆分解释了):
from bs4 import BeautifulSoup
from selenium import webdriver
from openpyxl import workbook
def dealinfo():
global tag
global sign
# 获取网站源代码
soup = BeautifulSoup(driver.page_source, 'lxml')
# 找到所有的电影信息
movie_list = soup.find('ol', class_='grid_view')
# 找到电影的播放地址和排名
pic_list = movie_list.find_all('div',{'class':'pic'})
for i in pic_list:
#播放地址
url_list.append(i.find('a')['href'])
#排名
rank_list.append(i.find('em').text)
# 寻找电影的名字
title_list = movie_list.find_all('div',{'class':'hd'})
for i in title_list:
name = i.