Python 尝试一次对电影网站观看列表(Mubi)的网络抓取
尝试将我在这里找到的代码用于类似的情况,但只是得到一个空列表的输出Python 尝试一次对电影网站观看列表(Mubi)的网络抓取,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,尝试将我在这里找到的代码用于类似的情况,但只是得到一个空列表的输出 # Import Module from bs4 import BeautifulSoup import requests # Website URL url = 'https://mubi.com/users/9167878/watchlist' r = requests.get(url) soup = BeautifulSoup(r.content, "lxml") g_data = soup.f
# Import Module
from bs4 import BeautifulSoup
import requests
# Website URL
url = 'https://mubi.com/users/9167878/watchlist'
r = requests.get(url)
soup = BeautifulSoup(r.content, "lxml")
g_data = soup.find_all('h3', {"class": "film-title", 'lang': 'en'})
print(g_data)
数据通过JavaScript从外部源加载。您可以使用此示例了解如何使用
请求
/json
模块加载它:
import json
import requests
url = "https://mubi.com/users/9167878/watchlist"
api_url = (
"https://mubi.com/services/api/wishes?user_id={user_id}&page=1&per_page=24"
)
user_id = url.split("/")[-2]
data = requests.get(api_url.format(user_id=user_id)).json()
# uncomment this to print all data
# print(json.dumps(data, indent=4))
for d in data:
print("{:<50} {}".format(d["film"]["title"], d["film"]["canonical_url"]))
@如果你打开Firefox开发者工具->网络选项卡(Chrome也有类似的功能),你会看到页面发出的每个请求(它们之间是这个API URL)。