【发布时间】:2023-03-31 15:25:02
【问题描述】:
我正在尝试将我的 Vudu 电影列表中的电影名称抓取到 csv 文件中。我处于早期阶段,我不知道如何使用 BeautifulSoup 来获得名称。我知道它在网站上的 html 中的位置。我现在将它设置为打印位置,但它全部返回“无”。
到目前为止,我已经包含了我的代码进度以及我需要的网站上的 html 代码照片。感谢任何提供帮助的人!
##Make sure to replace USERNAME and PASSWORD with your own username and password
#Import libraries
from bs4 import BeautifulSoup
from lxml import html
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import csv
import json
import re
import requests
import time
import urllib.request
#Login Information
USERNAME = "example"
PASSWORD = "example"
#URLs
login_url = "https://my.vudu.com/MyLogin.html?type=sign_in&url=https%3A%2F%2Fwww.vudu.com%2F"
url = "https://www.vudu.com/movies/#my_vudu/my_movies"
def main():
session_requests = requests.session()
chromedriver = 'C:\\chromedriver.exe'
browser = webdriver.Chrome(chromedriver)
browser.get('https://my.vudu.com/MyLogin.html?type=sign_in&url=https%3A%2F%2Fwww.vudu.com%2F')
time.sleep(10)
username = browser.find_element_by_name('email')
password = browser.find_element_by_name('password')
username.send_keys(USERNAME)
password.send_keys(PASSWORD)
browser.find_element_by_css_selector('.custom-button').click()
html = urllib.request.urlopen(url)
soup = BeautifulSoup(html, 'html.parser')
name_box = soup.find('div', attrs={'class': 'gwt-Label title'})
print (name_box)
if __name__ == '__main__':
main()
【问题讨论】:
-
你确定内容不是用javascript动态加载的吗?
-
images2.vudu.com/poster2/132100-m" alt="10,000 B.C.">
-
第一个标题是 10,000 B.C.
-
所以我觉得有办法使用这种方法来做到这一点
标签: python python-3.x beautifulsoup python-requests urllib