我正在进行一些网页抓取,并希望将结果写入我以后可以使用的JSON文件,而不是将它们写入控制台,但我不知道该怎么做。我想将数据存储在JSON文件中,并使用它来构建实时搜索。下面是代码。我还是比较新的。提前谢谢。
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="js/ygrab.js"></script>
<script>
$(function() {
var data = [
{
//Lumen Learning SUNY Course Catalog
url: 'https://courses.lumenlearning.com/catalog/suny', // url string rquired
selector: 'div.book-data', // selector string rquired
loop: true, // each boolean rquired
result: [
{
name: 'Title', // key string rquired
find: 'div.book-info h2', // selector child string rquired
grab: {
by: 'text', // attribut string rquired
value: '' // attribut value string optional
}
},
{
name: 'Author',
find: 'div.book-info p a',
grab: {
by: 'text',
value: ''
}
},
{
name: 'Link',
find: 'div.book-info p a',
grab: {
by: 'attr',
value: 'href'
}
}
]
},
//Open Textbook Library
{
url: 'https://open.umn.edu/opentextbooks/SearchResults.aspx?subjectAreaId=99', // url string rquired
selector: 'div.twothird', // selector string rquired
loop: true, // each boolean rquired
result: [
{
name: 'Title', // key string rquired
find: 'h2', // selector child string rquired
grab: {
by: 'text', // attribut string rquired
value: '' // attribut value string optional
}
},
{
name: 'Author(s)',
find: 'p',
grab: {
by: 'text',
value: ''
}
},
{
name: 'Link',
find: 'div.button-readmore a',
grab: {
by: 'attr',
value: 'href'
}
}
]
}
];
ygrab(data, function(result) {
console.log(JSON.stringify(result, null, 4));
});
});
</script>
答案 0 :(得分:0)
您无法将该文件保存到磁盘。浏览器不允许它。 您可以将其保存到本地存储中,或者将其传递到您的网络服务器上以便以后加载。