问题描述
我正在使用nodejs,axios和cheerio,我只是抓取了一个网站,它可以正确打印结果,但是现在我不知道如何使用抓取的数据。
我有以下文件:
const axios = require('axios');
const cheerio = require('cheerio');
const url = 'https://m.livesoccertv.com/es/competitions/england/premier-league/';
axios(url)
.then(response => {
const html = response.data;
const $ = cheerio.load(html)
const statsTable = $('.row > div');
const topPremierLeaguescorers = [];
statsTable.each(function () {
const equipoL = $(this).find('.b_match_team > span').text();
// const playerName = $(this).find('.playerName > strong').text();
// const nationality = $(this).find('.playerCountry').text();
// const goals = $(this).find('.mainStat').text();
topPremierLeaguescorers.push({
equipoL,// name: playerName,// nationality,// goals,});
});
console.log(topPremierLeaguescorers);
})
.catch(console.error);
print:
[
{ equipoL: '' },{ equipoL: 'norwich CityBurnley' },{ equipoL: '' },{ equipoL: 'AFC BournemouthSouthampton' },{ equipoL: '' }
]
import React from 'react';
import Typography from '@material-ui/core/Typography';
import { makeStyles } from '@material-ui/core/styles';
const useStyles = makeStyles({
root: {
width: '100%',maxWidth: 500,},});
const Titulo = props => {
const { equipoL} = props;
const classes = useStyles();
return (
<div className={classes.root}>
<Typography variant="h6" gutterBottom>
{equipoL}
</Typography>
</div>
);
}
export default Titulo;
import React from "react";
import Titulo from "./Titulo";
import Botones from "./Botones";
import { Grid,Paper } from "@material-ui/core";
import { makeStyles } from '@material-ui/core/styles';
import partidosMakerList from "./partidos";//
const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,paper: {
padding: theme.spacing(2),// textAlign: 'center',color: theme.palette.text.primary,}));
const ContentPartidos = () => {
const classes = useStyles();
const getPartidosMakerTitle = partidosMakerObj => {
return (
<div className={classes.root}>
<Grid container spacing={3}>
<Grid item xs={12}>
<Paper className={classes.paper}>
<Titulo {...partidosMakerObj} />
<Botones {...partidosMakerObj} />
</Paper>
</Grid>
</Grid>
</div>
);
};
return (
<Grid container spacing={2}>
{partidosMakerList.map(partidosMakerObj => getPartidosMakerTitle(partidosMakerObj))}
</Grid>
);
};
export default ContentPartidos;
我导入的“ matches”文件是我创建的.js文件,需要手动输入数据,而我需要的是使用通过抓取生成的.js文件。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)