Skip to content

Instantly share code, notes, and snippets.

@huxulm
Last active January 10, 2024 09:58
Show Gist options
  • Save huxulm/5bcd18c5f521f44be7510a15c12af1c9 to your computer and use it in GitHub Desktop.
Save huxulm/5bcd18c5f521f44be7510a15c12af1c9 to your computer and use it in GitHub Desktop.
获取个人豆瓣书单列表详情 https://www.douban.com/doulist/157391814/
[
{
"kind": 1001,
"title": "算法竞赛进阶指南",
"url": "https://book.douban.com/subject/30136932/",
"abstract": [
"作者: 李煜东",
"出版社: 中原出版传媒集团·河南电子音像出版社",
"出版年: 2018-1"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s29682929.jpg",
"r": 0,
"id": "30136932"
},
{
"kind": 1001,
"title": "图解HTTP",
"url": "https://book.douban.com/subject/25863515/",
"abstract": [
"作者: [日] 上野宣",
"出版社: 人民邮电出版社",
"出版年: 2014-4"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s27283822.jpg",
"r": 0,
"id": "25863515"
},
{
"kind": 1001,
"title": "Go专家编程",
"url": "https://book.douban.com/subject/35144587/",
"abstract": [
"作者: 任洪彩",
"出版社: 电子工业出版社",
"出版年: 2020-7"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s33699643.jpg",
"r": 0,
"id": "35144587"
},
{
"kind": 1001,
"title": "Web API的设计与开发",
"url": "https://book.douban.com/subject/27054104/",
"abstract": [
"作者: [日] 水野贵明",
"出版社: 人民邮电出版社",
"出版年: 2017-6"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s29460040.jpg",
"r": 0,
"id": "27054104"
},
{
"kind": 1001,
"title": "机器学习实战(原书第2版)",
"url": "https://book.douban.com/subject/35218199/",
"abstract": [
"作者: [法] Aurélien Géron",
"出版社: 机械工业出版社",
"出版年: 2020-10-1"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s33732686.jpg",
"r": 0,
"id": "35218199"
},
{
"kind": 1001,
"title": "挑战程序设计竞赛",
"url": "https://book.douban.com/subject/24749842/",
"abstract": [
"作者: [日]秋叶拓哉 / [日]岩田阳一 / [日]北川宜稔",
"出版社: 人民邮电出版社",
"出版年: 2013-7-1"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s26710684.jpg",
"r": 0,
"id": "24749842"
},
{
"kind": 1001,
"title": "JavaScript高级程序设计(第3版)",
"url": "https://book.douban.com/subject/10546125/",
"abstract": [
"作者: [美] Nicholas C. Zakas",
"出版社: 人民邮电出版社",
"出版年: 2012-3-29"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s8958650.jpg",
"r": 0,
"id": "10546125"
},
{
"kind": 1001,
"title": "HTML5权威指南",
"url": "https://book.douban.com/subject/25786074/",
"abstract": [
"作者: [美] Adam Freeman",
"出版社: 人民邮电出版社",
"出版年: 2014-1"
],
"images": "https://img2.doubanio.com/view/subject/l/public/s27169241.jpg",
"r": 0,
"id": "25786074"
},
{
"kind": 1001,
"title": "Bootstrap实战(第2版)",
"url": "https://book.douban.com/subject/34443939/",
"abstract": [
"作者: [荷] 巴斯 • 乔布森 / [美] 戴维 • 科克伦 / [美] 伊恩 • 惠特利",
"出版社: 人民邮电出版社",
"出版年: 2019-7-1"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s33307609.jpg",
"r": 0,
"id": "34443939"
},
{
"kind": 1001,
"title": "React全家桶:前端开发与实例详解",
"url": "https://book.douban.com/subject/35292561/",
"abstract": [
"作者: [美]安东尼·阿科马佐(Anthony Accomazzo) / [美]纳特·默里(Nate Murray) / [美]阿里·勒纳(Ari Lerner) / [美]克莱•奥尔索普(Clay Allsopp) / [美]大卫•古特曼(David Guttman) / [美]泰勒•麦金尼斯(Tyler McGinnis)",
"出版社: 人民邮电出版社",
"出版年: 2020-12"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s33781406.jpg",
"r": 0,
"id": "35292561"
},
{
"kind": 1001,
"title": "深入解析 CSS",
"url": "https://book.douban.com/subject/35021471/",
"abstract": [
"作者: Keith J. Grant",
"出版社: 人民邮电出版社",
"出版年: 2020-4-15"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s33612779.jpg",
"r": 0,
"id": "35021471"
},
{
"kind": 1001,
"title": "程序员的算法趣题",
"url": "https://book.douban.com/subject/27091348/",
"abstract": [
"作者: [ 日] 增井敏克",
"出版社: 人民邮电出版社",
"出版年: 2017-7"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s29497306.jpg",
"r": 0,
"id": "27091348"
},
{
"kind": 1001,
"title": "Python深度学习",
"url": "https://book.douban.com/subject/30293801/",
"abstract": [
"作者: [美] 弗朗索瓦·肖莱",
"出版社: 人民邮电出版社",
"出版年: 2018-8"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s29839337.jpg",
"r": 0,
"id": "30293801"
},
{
"kind": 1001,
"title": "DevOps实践指南",
"url": "https://book.douban.com/subject/30186150/",
"abstract": [
"作者: [美] Gene Kim / [美] Jez Humble / [美] Patrick Debois / [美] John Willis",
"出版社: 人民邮电出版社",
"出版年: 2018-4"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s29731195.jpg",
"r": 0,
"id": "30186150"
},
{
"kind": 1001,
"title": "正则表达式必知必会(修订版)",
"url": "https://book.douban.com/subject/34453146/",
"abstract": [
"作者: [美] 本•福塔(Ben Forta)",
"出版社: 人民邮电出版社",
"出版年: 2019-7-1"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s33314268.jpg",
"r": 0,
"id": "34453146"
},
{
"kind": 1001,
"title": "Rust程序设计",
"url": "https://book.douban.com/subject/35217097/",
"abstract": [
"作者: [美]吉姆•布兰迪(Jim Blandy) / [美]贾森•奥伦多夫(Jason Orendorff)",
"出版社: 人民邮电出版社",
"出版年: 2020-9-12"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s33732102.jpg",
"r": 0,
"id": "35217097"
},
{
"kind": 1001,
"title": "Rust程序设计(第2版)",
"url": "https://book.douban.com/subject/36547630/",
"abstract": [
"作者: [美]吉姆·布兰迪(Jim Blandy) / [美]贾森 • 奥伦多夫(Jason Orendorff) / [美]莉奥诺拉 • F. S. 廷德尔(Leonora F. S. Tindall)",
"出版社: 人民邮电出版社",
"出版年: 2023-9-5"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s34641512.jpg",
"r": 0,
"id": "36547630"
},
{
"kind": 1001,
"title": "微服务设计",
"url": "https://book.douban.com/subject/26772677/",
"abstract": [
"作者: [英] Sam Newman",
"出版社: 人民邮电出版社",
"出版年: 2016-5"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s28626997.jpg",
"r": 0,
"id": "26772677"
},
{
"kind": 1001,
"title": "PostgreSQL修炼之道:从小工到专家(第2版)",
"url": "https://book.douban.com/subject/35224053/",
"abstract": [
"作者: 唐成",
"出版年: 2020-9"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s33838597.jpg",
"r": 0,
"id": "35224053"
},
{
"kind": 1001,
"title": "Redis设计与实现",
"url": "https://book.douban.com/subject/25900156/",
"abstract": [
"作者: 黄健宏",
"出版社: 机械工业出版社",
"出版年: 2014-6"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s27297117.jpg",
"r": 0,
"id": "25900156"
},
{
"kind": 1001,
"title": "Go语言实战",
"url": "https://book.douban.com/subject/27015617/",
"abstract": [
"作者: 威廉·肯尼迪 (William Kennedy) / 布赖恩·克特森 (Brian Ketelsen) / 埃里克·圣马丁 (Erik St.Martin)",
"出版社: 人民邮电出版社",
"出版年: 2017-3-1"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s29421285.jpg",
"r": 0,
"id": "27015617"
},
{
"kind": 1001,
"title": "用Go语言自制解释器",
"url": "https://book.douban.com/subject/35909085/",
"abstract": [
"作者: [德] 索斯藤·鲍尔(Thorsten Ball)",
"出版社: 人民邮电出版社",
"出版年: 2022-6-1"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s34225626.jpg",
"r": 0,
"id": "35909085"
},
{
"kind": 1001,
"title": "Go Web 编程",
"url": "https://book.douban.com/subject/27204133/",
"abstract": [
"作者: [新加坡]Sau Sheong Chang(郑兆雄)",
"出版社: 人民邮电出版社",
"出版年: 2017-11-22"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s29615255.jpg",
"r": 0,
"id": "27204133"
},
{
"kind": 1001,
"title": "Go语言设计与实现",
"url": "https://book.douban.com/subject/35635836/",
"abstract": [
"作者: 左书祺",
"出版社: 人民邮电出版社",
"出版年: 2021-11"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s34071329.jpg",
"r": 0,
"id": "35635836"
},
{
"kind": 1001,
"title": "Go程序设计语言(英文版)",
"url": "https://book.douban.com/subject/26859123/",
"abstract": [
"作者: 艾伦A.A.多诺万 (Alan A.A.Donovan) / 布莱恩W.柯尼汉 (Brian W.Kemighan)",
"出版社: 机械工业出版社",
"出版年: 2016-1-1"
],
"images": "https://img2.doubanio.com/view/subject/l/public/s29140891.jpg",
"r": 0,
"id": "26859123"
},
{
"kind": 1001,
"title": "Go语言精进之路",
"url": "https://book.douban.com/subject/35720728/",
"abstract": [
"作者: 白明",
"出版社: 机械工业出版社",
"出版年: 2021-12-17"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s34082690.jpg",
"r": 0,
"id": "35720728"
},
{
"kind": 1001,
"title": "Go程序设计语言",
"url": "https://book.douban.com/subject/27044219/",
"abstract": [
"作者: 艾伦 A. A. 多诺万",
"出版社: 机械工业出版社",
"出版年: 2017-5"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s29458403.jpg",
"r": 0,
"id": "27044219"
},
{
"kind": 1001,
"title": "CSS权威指南(第四版)",
"url": "https://book.douban.com/subject/33398314/",
"abstract": [
"作者: Eric A. Meyer / Estelle Weyl",
"出版社: 中国电力出版社",
"出版年: 2019-4"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s32282742.jpg",
"r": 0,
"id": "33398314"
},
{
"kind": 1001,
"title": "JavaScript权威指南(原书第7版)",
"url": "https://book.douban.com/subject/35396470/",
"abstract": [
"作者: [美] David Flanagan",
"出版社: 机械工业出版社",
"出版年: 2021-3-20"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s33861377.jpg",
"r": 0,
"id": "35396470"
},
{
"kind": 1001,
"title": "React 学习手册(第二版)",
"url": "https://book.douban.com/subject/35607428/",
"abstract": [
"作者: [美] Alex Banks / [美] Eve Procello",
"出版社: 中国电力出版社",
"出版年: 2021-6"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s34003272.jpg",
"r": 0,
"id": "35607428"
},
{
"kind": 1001,
"title": "Kubernetes编程",
"url": "https://book.douban.com/subject/35498478/",
"abstract": [
"作者: [美] 迈克尔·豪森布拉斯 / [美] 斯特凡·西曼斯 基",
"出版社: 中国电力出版社",
"出版年: 2021-6"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s33923712.jpg",
"r": 0,
"id": "35498478"
},
{
"kind": 1001,
"title": "SQL学习指南(第3版)",
"url": "https://book.douban.com/subject/35852236/",
"abstract": [
"作者: Alan Beaulieu",
"出版社: 人民邮电出版社",
"出版年: 2022-4"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s34234689.jpg",
"r": 0,
"id": "35852236"
},
{
"kind": 1001,
"title": "高性能MySQL(第4版)",
"url": "https://book.douban.com/subject/36096578/",
"abstract": [
"作者: 【美】Silvia Botros / 【美】Jeremy Tinley",
"出版社: 电子工业出版社",
"出版年: 2022-10"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s34312038.jpg",
"r": 0,
"id": "36096578"
},
{
"kind": 1001,
"title": "Efficient Linux命令行",
"url": "https://book.douban.com/subject/36204119/",
"abstract": [
"作者: (美)丹尼尔·J.巴雷特",
"出版社: 中国电力出版社",
"出版年: 2022-11-1"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s34698874.jpg",
"r": 0,
"id": "36204119"
},
{
"kind": 1001,
"title": "PyTorch速查手册",
"url": "https://book.douban.com/subject/36170964/",
"abstract": [
"作者: 乔·帕帕",
"出版社: 中国电力出版社",
"出版年: 2022-11"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s34467780.jpg",
"r": 0,
"id": "36170964"
},
{
"kind": 1001,
"title": "移动端AI与ML应用开发",
"url": "https://book.douban.com/subject/36162092/",
"abstract": [
"作者: [美] 劳伦斯·莫罗尼(Laurence Moroney)",
"出版社: 机械工业出版社",
"出版年: 2022-12-1"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s34362242.jpg",
"r": 0,
"id": "36162092"
},
{
"kind": 1001,
"title": "高性能JavaScript",
"url": "https://book.douban.com/subject/5362856/",
"abstract": [
"作者: Nicholas C.Zakas",
"出版社: 电子工业出版社",
"出版年: 2010-11"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s4538004.jpg",
"r": 0,
"id": "5362856"
},
{
"kind": 1001,
"title": "高性能网站建设进阶指南",
"url": "https://book.douban.com/subject/4719162/",
"abstract": [
"作者: Steve Souders",
"出版社: 电子工业出版社",
"出版年: 2010年4月"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s4231089.jpg",
"r": 0,
"id": "4719162"
},
{
"kind": 1001,
"title": "精通正则表达式",
"url": "https://book.douban.com/subject/2154713/",
"abstract": [
"作者: Jeffrey E. F. Friedl",
"出版社: 电子工业出版社",
"出版年: 2007"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s2697984.jpg",
"r": 0,
"id": "2154713"
},
{
"kind": 1001,
"title": "Web界面设计",
"url": "https://book.douban.com/subject/3821157/",
"abstract": [
"作者: Bill Scott / Theresa Neil",
"出版社: 电子工业出版社",
"出版年: 2009年7月"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s3857678.jpg",
"r": 0,
"id": "3821157"
},
{
"kind": 1001,
"title": "JavaScript语言精粹",
"url": "https://book.douban.com/subject/3590768/",
"abstract": [
"作者: Douglas Crockford",
"出版社: 电子工业出版社",
"出版年: 2009-4"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s3651235.jpg",
"r": 0,
"id": "3590768"
},
{
"kind": 1001,
"title": "数据密集型应用系统设计",
"url": "https://book.douban.com/subject/30329536/",
"abstract": [
"作者: Martin Kleppmann",
"出版社: 中国电力出版社",
"出版年: 2018-9-1"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s34186559.jpg",
"r": 0,
"id": "30329536"
},
{
"kind": 1001,
"title": "利用Python进行数据分析",
"url": "https://book.douban.com/subject/25779298/",
"abstract": [
"作者: Wes McKinney",
"出版社: 机械工业出版社",
"出版年: 2013-11-18"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s27275372.jpg",
"r": 0,
"id": "25779298"
},
{
"kind": 1001,
"title": "黎曼猜想漫谈",
"url": "https://book.douban.com/subject/11506872/",
"abstract": [
"作者: 卢昌海",
"出版社: 清华大学出版社",
"出版年: 2012-8"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s11190113.jpg",
"r": 0,
"id": "11506872"
},
{
"kind": 1001,
"title": "流畅的Python",
"url": "https://book.douban.com/subject/27028517/",
"abstract": [
"作者: [巴西] Luciano Ramalho",
"出版社: 人民邮电出版社",
"出版年: 2017-5-15"
],
"images": "https://img9.doubanio.com/view/subject/l/public/s29434304.jpg",
"r": 0,
"id": "27028517"
},
{
"kind": 1001,
"title": "组合数学(原书第5版)",
"url": "https://book.douban.com/subject/10606626/",
"abstract": [
"作者: [美] Richard A. Brualdi",
"出版社: 机械工业出版社",
"出版年: 2012-5"
],
"images": "https://img3.doubanio.com/view/subject/l/public/s9064013.jpg",
"r": 0,
"id": "10606626"
},
{
"kind": 1001,
"title": "C++ Primer 中文版(第 5 版)",
"url": "https://book.douban.com/subject/25708312/",
"abstract": [
"作者: [美] Stanley B. Lippman / [美] Josée Lajoie / [美] Barbara E. Moo",
"出版社: 电子工业出版社",
"出版年: 2013-9-1"
],
"images": "https://img1.doubanio.com/view/subject/l/public/s33903490.jpg",
"r": 0,
"id": "25708312"
}
]
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Cookie: *
Host: book.douban.com
Pragma: no-cache
Referer: https://book.douban.com/people/janeysession/wish?start=0&sort=time&rating=all&filter=all&mode=list
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
import requests
from bs4 import BeautifulSoup
import time
def save_htlm(html, path):
with open(path, 'wb') as f:
f.write(html)
def open_html(path):
file = open(path, "r")
content = file.read()
file.close()
return content
def load(f):
h = {}
for l in open_html(f).split("\n"):
if not l: continue
kv = l.split(":", 1)
if len(kv) == 2: h[kv[0].strip(" ")] = kv[1].strip(" ")
return h
headers = load(".\douban\hd.raw")
def scrap_html_by_url(url):
r = requests.get(url, headers=headers)
sp = BeautifulSoup(r.content, 'html.parser')
return [(a.text.strip(" ").strip("\n").strip(" "), a["href"]) for a in sp.css.select("div[class='title'] > a")]
def get_book_item(src):
url = 'https://www.douban.com/j/doulist/get_item_info'
h = { 'Cookie': headers['Cookie'], 'User-Agent': headers['User-Agent'], 'Content-Type': 'application/x-www-form-urlencoded' }
r = requests.post(url, data={"url": src, "ck": "jbLH"}, headers=h)
if r.status_code == 200:
data = r.json()
del data['html']
return data
def add_book2list(book, listId='157391814'):
data = {'dl_id': listId,
'sid': book['id'],
'skind': '1001',
'surl': book['url'],
'comment':'add by pybot',
'ck': 'jbLH'}
h = { 'Cookie': headers['Cookie'], 'User-Agent': headers['User-Agent'], 'Content-Type': 'application/x-www-form-urlencoded' }
r = requests.post('https://www.douban.com/j/doulist/%s/additem' % listId, data=data, headers=h)
if r.status_code == 200:
print("add book: " + book['title'])
if __name__ == '__main__':
print(len(headers))
page = 2 # "想读" 列表页数 https://book.douban.com/people/janeysession/wish
all = []
for p in range(0, 30 * page, 30):
items = scrap_html_by_url('https://book.douban.com/people/janeysession/wish?start=%d&sort=time&rating=all&filter=all&mode=list' % p)
for _, url in items:
book = get_book_item(url)
if book:
all.append(book)
add_book2list(book)
time.sleep(1)
print(all)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment