1.谷歌插件例子
C:\Users\janeAnne\Desktop\chrome-extensions- samples
- [ ] 合并多个谷歌浏览器窗口
C:\Users\janeAnne\Desktop\chrome-extensions-samples\api-samples\windows- [ ] 可以用index.html控制浏览器插件
C:\Users\janeAnne\Desktop\chrome-extensions-samples\api-samples\action- [ ] 可以获取网站的图标
C:\Users\janeAnne\Desktop\chrome-extensions-samples\api-samples\favicon- [ ] 清除浏览器数据
获取微博热搜榜
js
data=document.querySelectorAll('.m-wrap')[0].innerText
// 分割数据
var lines = data.split("\n");
// 清理和整理数据
var cleaned_data = [];
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
// 使用制表符分割每一行的数据
var items = line.split("\t");
if (items.length >= 2) {
// 提取关键词和序号
var keyword = items[1].trim();
var number = items[0].trim();
// 添加到清理后的数据列表
cleaned_data.push([number, keyword]);
}
}
// 排序数据,按照序号升序排列
cleaned_data.sort(function(a, b) {
return parseInt(a[0]) - parseInt(b[0]);
});
var urlTemplate = "https://s.weibo.com/weibo?q={keyword}&t=31&band_rank=5&Refer=top&page=1";
// 打印整理后的数据
for (var j = 1; j < cleaned_data.length; j++) {
var item = cleaned_data[j];
//console.log("序号:" + item[0] + ",关键词:" + item[1]);
var keywordArray = item[1].split(" ");
var firstKeyword = keywordArray[0];
var url = urlTemplate.replace("{keyword}", firstKeyword);
console.log(url)
}失败的实现
js
import fetch from 'node-fetch';
import { parse } from 'node-html-parser';
async function getInnerText() {
try {
const url = 'https://s.weibo.com/top/summary?cate=realtimehot'; // 替换为目标网站的 URL
const response = await fetch(url);
const htmlText = await response.text();
const root = parse(htmlText);
const elements = root.querySelectorAll('.m-wrap');
if (elements.length > 0) {
elements.forEach(element => {
const innerText = element.innerText;
console.log(innerText);
});
} else {
console.log('.m-wrap 元素未找到');
}
} catch (error) {
console.error(error);
}
}
getInnerText();成功的可实现
js
import puppeteer from 'puppeteer';
async function getInnerText() {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://s.weibo.com/top/summary?cate=realtimehot');
// 等待异步加载完成,可以根据页面上的某个元素或其他特定条件进行等待
await page.waitForSelector('.m-wrap');
const elements = await page.$$('.m-wrap');
if (elements.length > 0) {
for (const element of elements) {
const innerText = await element.evaluate(node => node.innerText);
console.log(innerText);
}
} else {
console.log('.m-wrap 元素未找到');
}
await browser.close();
} catch (error) {
console.error(error);
}
}
getInnerText();