ws从代码开始 2023-12-14 22:17 采纳率: 66.7%
浏览 8
已结题

关于#python#的问题:selenium打开豆瓣短评网页

selenium打开豆瓣短评网页,怎么继续获取短评的url

import requests
from bs4 import BeautifulSoup
import pandas as pd
import os
from time import sleep
import pymongo
import random
import time
from selenium.webdriver.common.by import By
from selenium import webdriver

word = input('请你输入你需要找的电影:')

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://movie.douban.com/')
driver.implicitly_wait(10)
time.sleep(3)

# 点击页面上的一个链接
driver.find_element(By.XPATH,'//*[@id="db-global-nav"]/div/div[1]/a').click()

time.sleep(1)

# 点击页面上的一个元素
driver.find_element(By.XPATH,'//*[@id="account"]/div[2]/div[2]/div/div[1]/ul[1]/li[2]').click()

time.sleep(1)

# 在用户名输入框中输入用户名
driver.find_element(By.ID,'username').send_keys('15761473658')

# 在密码输入框中输入密码
driver.find_element(By.ID,'password').send_keys('ahd7459420')

time.sleep(5)

# 点击页面上的一个链接
driver.find_element(By.XPATH,'//*[@id="account"]/div[2]/div[2]/div/div[2]/div[1]/div[4]/a').click()

time.sleep(10)

# 在搜索框中输入用户输入的电影名称
driver.find_element(By.XPATH,'//*[@id="inp-query"]').send_keys(word)

# 点击搜索按钮
driver.find_element(By.XPATH,'//*[@id="db-nav-movie"]/div[1]/div/div[2]/form/fieldset/div[2]/input').click()
driver.find_element(By.XPATH,'//*[@id="root"]/div/div[2]/div[1]/div[1]/div/div/div/div[1]/a').click()
driver.find_element(By.XPATH,'//*[@id="comments-section"]/div[1]/h2/span/a').click()
time.sleep(3)


  • 写回答

1条回答 默认 最新

  • 渴口可乐 2023-12-15 15:01
    关注
    # 点击搜索按钮
    driver.find_element(By.XPATH, '//*[@id="db-nav-movie"]/div[1]/div/div[2]/form/fieldset/div[2]/input').click()
    time.sleep(0.3)
    driver.find_element(By.XPATH, '//*[@id="root"]/div/div[2]/div[1]/div[1]/div/div/div/div[1]/a').click()
    time.sleep(0.3)
    driver.find_element(By.XPATH, '//*[@id="comments-section"]/div[1]/h2/span/a').click()
    
    ##//*[@id="comments"]/div[1]/div[2]/p/span    第一条评论
    ##//*[@id="comments"]/div[20]/div[2]/p/span    最后一条评论
    
    
    

    最后这些点击事件最好中间有些间隔,然后其中第一条评论和最后一条评论不难发现只是div的编号改变,所以可以利用这个编号循环获取评论内容。另外,您的账号密码漏出来了,登入也有滑动验证需要考虑进去。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月16日
  • 已采纳回答 12月16日
  • 创建了问题 12月14日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22