import time
from selenium import webdriver
from selenium.webdriver.common.by import By
def scroll_to_bottom():
js = "return action=document.body.scrollHeight"
height = 0 # 初始化现在滚动条所在高度为0
new_height = driver.execute_script(js) # 当前窗口总高度
while height < new_height:
# 将滚动条调整至页面底部
for i in range(height, new_height, 200):
driver.execute_script('window.scrollTo(0, {})'.format(i))
time.sleep(0.5)
height = new_height
time.sleep(0.5)
new_height = driver.execute_script(js)
if condition():
break
# 终止条件
def condition():
try:
driver.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[1]/div[6]/div[30]/div/div/div[1]/span[1]/a")
return True
except:
return False
if __name__ == '__main__':
# 初始化一个driver,指定Chrome浏览器
driver = webdriver.Chrome()
# 请求豆瓣电影剧情排行榜
driver.get("https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85&type=11&interval_id=100:90&action= ")
scroll_to_bottom()
movieList = driver.find_elements(By.CLASS_NAME, 'movie-name-text')[:30]
i = 1
with open("movie_Top30.txt", 'w', encoding="utf-8") as f:
for movie in movieList:
f.writelines("NO.{} {}\n".format(i, movie.text))
i += 1
driver.quit()
获取豆瓣网站前30个电影的名字
于 2024-11-01 12:02:01 首次发布