- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
div > d-6ren">
第一次尝试在 Node.js 中进行抓取。电影列表fandango嵌套在几个 div 中,这是否意味着我会执行以下操作: $('div[id="page"]').find('div > div > div > div > ul > li').each
。然后,当我在控制台中记录 html 时,它似乎与我在 Chrome 上检查它时不同。某些电影丢失,并且日志中的 ul 类名称不同。这正常吗?
const axios = require('axios');
const cheerio = require('cheerio');
const url = 'https://www.fandango.com/movies-in-theaters';
axios(url)
.then(response => {
const html = response.data;
console.log(html);
const $ = cheerio.load(html);
const movies = $('ul.browse-movielist > li');
const openingThisWeek = [];
movies.each(function () {
console.log("Found the list"); // this doesn't get called
const title = $(this).find('.heading-style-1 browse-movielist--title poster-card--title').text();
openingThisWeek.push({
title,
});
});
console.log(openingThisWeek);
})
.catch(console.error);
最佳答案
Fandango 使用客户端渲染开场影片,因此我们无法使用 axios 来获取它。
另一种方法是使用 headless 浏览器来抓取数据。我正在使用puppeteer
const puppeteer = require("puppeteer");
const cheerio = require("cheerio");
(async () => {
const url = "https://www.fandango.com/movies-in-theaters";
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
const body = await page.evaluate(() => document.body.outerHTML);
await browser.close();
const $ = cheerio.load(body);
const movies = [];
$(".browse-movielist > li").each((i, item) => {
const $item = $(item);
const title = $item.find(".poster-card--title").text();
movies.push({
title
});
});
console.log(movies);
})();
关于node.js - 抓取 Fandango Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58897041/
我正在尝试与 Fandango 集成.我在门户网站上注册并创建了一个 API key ,但 API key 状态显示为“等待”两天。 我收到类似这样的错误 Developer Inactive err
我觉得问这个很愚蠢,但是有人知道如何注册 Fandango API key 吗? 我正在尝试制作一个愚蠢的小应用程序,用于在 Fandango 上提取可用的电影票。互联网上有大量关于如何使用他们的 A
第一次尝试在 Node.js 中进行抓取。电影列表fandango嵌套在几个 div 中,这是否意味着我会执行以下操作: $('div[id="page"]').find('div > div > d
问候和称呼, 我有两个 Android 应用程序:一个是服务器,一个是客户端。服务器从两个或多个客户端接收字符串。服务器测试输入的冲突(例如在 1 毫秒内接收到的输入或其他)。一旦客户端与服务器建立连
我是一名优秀的程序员,十分优秀!