V2EX Honwhy
Web  收录于 VXNA 的 1 个网站
25 篇文章 feed address
 Honwhy 最近的时间轴更新
我在想如果公司发给我多些工资我就不会因为钱的问题而生活不愉快了。
2014-03-08 10:45:21 +08:00
Honwhy

Honwhy

out of my mind
V2EX 第 11698 号会员,加入于 2011-09-08 08:45:43 +08:00
Honwhy 最近回复了
学习前端知识吧。
1 、Javascript 高级程序设计
2 、Vue 设计与实现
3 、jQuery 技术内幕(老古董,但是思路还是不错的。。。,随便翻翻不建议全读,太大部头了。。。
。。。还有很多,欢迎补充
8 天前
回复了 vanchKong 创建的主题 Blogger 建博客,大伙有什么先进经验吗
我曾经做过考古,方式还是蛮多的。(当然我现在使用的是免费的方案)
1 、https://mp.weixin.qq.com/s/uiJMQYTwGFcPLAzIj5ad6w
2 、https://honwhy.wang/posts/2025-08-24-github-cf-pages-blog/
@Honwhy #3 爬虫脚本要调整下,
$('#hexo-douban-item3 .hexo-douban-item').each((_, el) => {
const title = $(el).find('.hexo-douban-title').text().trim()
const url = $(el).find('.hexo-douban-title > a').attr('href').trim()
// const author = $(el).find('.book-author').text().trim()
const img = $(el).find('.hexo-douban-picture>img').attr('src')
const review = $(el).find('.hexo-douban-comments').text().trim()
const rating = review.slice(0, 10).replace(/[^0-9.]/g, '')
books.push({ title, url, rating, cover: img, description: review })
})
@EngAPI #9 我 get 到你的意思了,我想想怎么支持下。
@EngAPI
已经支持了。 请享用。

速度并不会很快,要读取豆瓣的豆列。
@EngAPI 准备支持豆瓣书单,例如这个,https://www.douban.com/doulist/45097500/

正在开发中。。。

感谢关注和支持
@conge 我通过 cheerio 爬取了这个网址所有书籍,然后结合书单的数据结构 JSON ,做了一次拼装。
然后再导入进来。

## 效果



## 代码
```js
import fs from 'node:fs' // 导入 fs 模块来读取文件
import path from 'node:path' // 导入 path 模块来处理文件路径
import { fileURLToPath } from 'node:url' // 导入 fileURLToPath
import * as cheerio from 'cheerio'
import clipboardy from 'clipboardy' // 导入 clipboardy 包
import fetch from 'node-fetch'

// 获取当前文件的目录名
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
async function scrapeBooks() {
const url = 'https://conge.livingwithfcs.org/books/'
const resp = await fetch(url)
const html = await resp.text()
const $ = cheerio.load(html)

const books = []

$('.hexo-douban-item').each((_, el) => {
const title = $(el).find('.hexo-douban-title').text().trim()
// const author = $(el).find('.book-author').text().trim()
const img = $(el).find('.hexo-douban-picture>img').attr('src')
const review = $(el).find('.hexo-douban-comments').text().trim()
const rating = review.slice(0, 10).replace(/[^0-9.]/g, '')
books.push({ title, rating, cover: img, description: review })
})
// 使用 __dirname 确保路径正确
const bookListPath = path.join(__dirname, '../public/book-lists.json')
const bookListRaw = fs.readFileSync(bookListPath, 'utf8')
const bookList = JSON.parse(bookListRaw)

bookList[0].books = books
bookList[0].name = 'conge-书单'
bookList[0].qrCodeUrl = url
// bookList stringify and copy to clipboard
// 使用 clipboardy.write() 写入剪贴板
await clipboardy.write(JSON.stringify(bookList, null, 2))

console.log('数据已成功抓取并复制到剪贴板!')
}

scrapeBooks()
```
## 可惜
- 书单中缺少作者信息
- 书单的评论描述有的缺少,只有评分
- 书单的评论描述有的太长了(是否能提供更加言简意赅的精彩点评)
- 书单还缺少分类,生成的图片太长了,可能会导出失败,是否可以增加分类榜单呢
24 天前
回复了 loovezsh 创建的主题 投资 A 股超短,题材切换研究
你用了 AI 来总结了 吗。
抓热点新闻,喂给 AI 查询相关行业股票,查询龙头股票,查询股价走势,做出预测?
25 天前
回复了 Honwhy 创建的主题 Java 使用 Java 技术栈生成二维码
@geying
qrgen 地址:qrgen: https://github.com/honwhy/qrgen
我的 demo 项目地址:java-examples: https://github.com/honwhy/java-examples
公众号文章: https://mp.weixin.qq.com/s/yFy0P1j8naqXypn0xxlElw
还好吧。 难度不算大。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2824 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 23ms UTC 13:32 PVG 21:32 LAX 06:32 JFK 09:32
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86