910JQK / tieba-fetch

A tool script to fetch data from Baidu Tieba

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

貼吧帖子抓取工具

嗯,就是這樣的一個東西

此腳本可用於抓取百度貼吧的帖子和帖子列表,生成結構化數據以便在其它 Python 程序中使用。也可以直接運行以輸出文本(默認)或 JSON ( 使用 -f json 選項).

由於並非使用 API 而是直接抓網頁(手機貼吧),所以稳定性無法保障。

抓取帖子列表

$ ./fetch.py list linux 1 2 -d
【抓取帖子列表】linux吧 精品區 [1, 2]
【頁碼】第 1 頁
【請求】http://tieba.baidu.com/mo/m?kw=linux&pnum=1&lm=4
【頁碼】第 2 頁
【請求】http://tieba.baidu.com/mo/m?kw=linux&pnum=2&lm=4
【完成】帖子列表抓取完成,共 38 帖
5001419315 最近果然是又开学了,统一回复关于新机型上安装CentOS等问题
5003351749 【手动醒目】学姐的CentOS 源上线啦!
(此處省略若干輸出)
3456701948 GTK主题教程写完了,感兴趣的吧友来看看吧!
3467036604 shell脚本编写计较及其心得
3456215887 KVM初级教程

$ ./fetch.py -q -f json list linux 2 2
[{"kz": 4837514456, "title": "\u542c\u8bf4\u4f60\u4eec\u559c\u6b22\u79c0\u684c\u9762"}, {"kz": 2188988964, "title": "steam\u00a0\u4e0b\u4e86\u4e2aChampions\u00a0of\u00a0Regnum\u73a9"}, {"kz": 4986662939, "title": "\u6562\u4e0d\u6562\u6765\u4e00\u4f4d\u5927\u4f6c\u8c03\u6559\u4e00\u4e0b\u5c0f\u767d\u554a"}, {"kz": 5007308464, "title": "\u8bf7\u95eearch\u00a0linux\u9002\u5408\u8001\u7237\u673a\u5417\uff1f"}, {"kz": 5006658230, "title": "linux\u5b66\u4e60\u4ea4\u6d41"}, {"kz": 5007087953, "title": "\u55ef\uff0c\u6211\u6765\u6c42\u52a9\u4e86"}, {"kz": 4998482866, "title": "\u5927\u5bb6\u6709\u6ca1\u6709\u8fc7\u9189\u9152\u5220\u5e93\u7684\u4e8b\uff1f"}, {"kz": 4993789221, "title": "\u8bb0\u5f55\u6211\u5b66\u4e60\u300aUnix\u73af\u5883\u9ad8\u7ea7\u7f16\u7a0b\u300b"}, {"kz": 4929886843, "title": "deepin\u00a0server\u00a015"}, {"kz": 4875439273, "title": "Ghost\u00a0\u7248\u00a0Ubuntu"}, {"kz": 5007290554, "title": "\u6559\u4f60\u5982\u4f55\u5feb\u901f\u542f\u52a8Linux\u7cfb\u7edf"}, {"kz": 4995588208, "title": "\u5173\u4e8e\u8033\u673a\u6ca1\u6709\u58f0\u97f3\u7684\u95ee\u9898"}, {"kz": 4897237773, "title": "\u91cd\u53d1\u4e0bcrossover\u7834\u89e3\u7248\uff08\u5b8c\u7f8e\u7248\uff09"}, {"kz": 5007248273, "title": "linux\u4e0b\u865a\u62df\u9f20\u6807\u8bbe\u5907"}, {"kz": 5005280074, "title": "\u65b0\u4eba\u6c42\u52a9\u3002\u5b89\u88c5MySQL\u89e3\u538b\u540e\u6ca1\u6709.\uff0fconfigure\u600e\u4e48"}, {"kz": 5006392372, "title": "\u6c42\u6559gcc\u8be6\u7ec6\u5b89\u88c5\u6559\u7a0b"}, {"kz": 4903857768, "title": "\u8fd9\u4e2alinux\u597d\u5947\u602a\u554a"}, {"kz": 5002527822, "title": "\u6253\u7b97\u4e70\u4e2a\u7535\u8111\u5c31\u88c5linux\u00a0\u9700\u8981\u4ec0\u4e48\u914d\u7f6e"}, {"kz": 5003514829, "title": "VMware\u4e2d\u7684tree\u547d\u4ee4\u7528yum\u5b89\u88c5\u4e0d\u4e86"}, {"kz": 5007127428, "title": "\u6539\u9020\u4e86\u4e00\u4e0b\u684c\u9762\uff5e"}]

抓取帖子內容

$ ./fetch.py topic 2036562475
【抓取帖子】2036562475
【請求】http://tieba.baidu.com/mo/m?kz=2036562475
【標題】arch最后安装GRUB出错,求解。
【頁數】1
【回覆】第 5 樓有 8 條回覆
【抓取樓中樓】27097821140
【請求】http://tieba.baidu.com/mo/m/flr?kz=2036562475&pid=27097821140
【頁數】1
【完成】樓中樓 27097821140 抓取完成,共 8 條回覆
【回覆】第 6 樓有 2 條回覆
【抓取樓中樓】27100008063
【請求】http://tieba.baidu.com/mo/m/flr?kz=2036562475&pid=27100008063
【頁數】1
【完成】樓中樓 27100008063 抓取完成,共 2 條回覆
【回覆】第 8 樓有 4 條回覆
【抓取樓中樓】80256342916
【請求】http://tieba.baidu.com/mo/m/flr?kz=2036562475&pid=80256342916
【頁數】1
【完成】樓中樓 80256342916 抓取完成,共 4 條回覆
【回覆】第 9 樓有 4 條回覆
【抓取樓中樓】80256765415
【請求】http://tieba.baidu.com/mo/m/flr?kz=2036562475&pid=80256765415
【頁數】1
【完成】樓中樓 80256765415 抓取完成,共 4 條回覆
【回覆】第 10 樓有 3 條回覆
【抓取樓中樓】83885378130
【請求】http://tieba.baidu.com/mo/m/flr?kz=2036562475&pid=83885378130
【頁數】1
【完成】樓中樓 83885378130 抓取完成,共 3 條回覆
【完成】帖子 2036562475 抓取完成,共 12 層
arch最后安装GRUB出错,求解。
LZ: 栗子好想吃
================================================================================
1L | 栗子好想吃 | 2012-12-10

跟着wiki走,# grub-install --target=i386-pc --recheck /dev/sda 但出现/usr/sbin/grub-bios-setup: error: will not proceed with blocklists.,这句前面还有两句的,已百度,无解,求破


################################################################################
2L | 仗剑一游 | 2012-12-10

不要加中间的参数,安装软件时如果不懂那些参数是干什么的,能不加就不要加。

################################################################################
3L | 旅程_2008 | 2012-12-10

我的32位Arch这样安装没有问题

################################################################################
4L | im叶飞 | 2012-12-10

 安装前 partprobe /dev/sda 刷新下分区表。 参看http://tieba.baidu.com/p/1746514728

################################################################################
5L | 栗子好想吃 | 2012-12-10

问题依旧,还是这样,无解。。。

*** im叶飞 | 2012-12-10
> https://wiki.archlinux.org/index.php/GRUB2#msdos-style error message

*** 栗子好想吃 | 2012-12-10
> 回复  :意思是 cp -a /boot/grub /  mv /grub /boot/ # grub-install /dev/sda,将grub文件夹复制到根再安装?

*** im叶飞 | 2012-12-10
> 我不知道 你分区具体情况。 可以先不用 独立的 /boot 分区试试看

*** 栗子好想吃 | 2012-12-10
> 回复  :/ 20G swap 2G home 余下

*** im叶飞 | 2012-12-10
> 回复 栗子好想吃 : 不需要 移动 grub的 试试看modprobe dm-mod 然后partprobe /dev/sda 最后grub-install --target=i386-pc --recheck /dev/sda。

*** 栗子好想吃 | 2012-12-10
> 回复  :在arch-chroot里还是在#,在重装

*** im叶飞 | 2012-12-10
> 回复 栗子好想吃 :都是在 arch-chroot 后 ,推荐使用独立 boot 分区

*** 栗子好想吃 | 2012-12-10
> 回复  :习惯这样分,之前安装没出现过这种情况,数据洁癖+强迫。。按错一个键直接重来。。

################################################################################
6L | 绿地球 | 2012-12-10

grub-install --no-floppy /dev/sda

*** empower | 2016-11-3
> 完美解决

*** sky文伟 | 1-8 14:46
> 看了上面这么多方案还是不行,求大神帮忙

################################################################################
8L | aylorlvliu | 2015-12-7

添加--force参数就好了
grub-install --force /dev/sda

*** 自由建客 | 2015-12-7
> 挖坟

*** empower | 2016-11-3
> 按照这个完美解决

*** 天真无邪同志_ | 2-5 03:09
> 解决了!

*** wingis823 | 3-4 13:35
> 按照层主所说的问题解决了

################################################################################
9L | 自由建客 | 2015-12-7

这问题,分区教训

*** loser多态人生 | 2016-2-10
> 不是FEI引导也不是容量不够,何来的分区问题?还是八楼真相

*** 自由建客 | 2016-2-11
> 回复 loser多态人生 :问题就在于不是 EFI 引导。用 GPT 分区表要单独建一个 BIOS boot 分区。

*** loser多态人生 | 2016-2-11
> 回复 自由建客 :好像很有道理可是我的boot建在了第一分区。。。

*** 自由建客 | 2016-2-12
> 回复 loser多态人生 :看十楼

################################################################################
10L | 自由建客 | 2016-2-12


http://m.tiebaimg.com/timg?wapp&quality=100&size=b2000_2000&cut_x=0&cut_w=0&cut_y=0&cut_h=0&sec=1369815402&di=af28da9e5a4cfcb8cd1e4f14c6e9539b&wh_rate=null&src=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F7940510fd9f9d72a4490e762d32a2834359bbbe1.jpg

第一个分区最小要 1M,我给了 10M,该分区并不是挂载的 /boot 分区,而是给引导器用的。第二个分区我先留出,哪天想换 EFI 引导好方便,以免调整分区。顺便,我用的是 2MiB 对齐,所以从 4096 开始。

*** 自由建客 | 2016-2-12
> 有人会说没必要同时保留 BIOS boot 和 EFI 分区。但我会说,这样可以进退有余。

*** 自由建客 | 2016-2-12
> 诺大的硬盘,不差那点空间。

*** loser多态人生 | 2016-2-12
> 66,但是把grub装进去恐怕不太够吧......

################################################################################
11L | jingbojun | 2016-4-18

没分区也有这种错误,虚拟机只有20G就没分

################################################################################
13L | ck282387905 | 2016-10-25

http://blog.chinaunix.net/uid-21873901-id-1813548.html

################################################################################
14L | kk王子的咖啡 | 3-4 18:45

 [client/image_emoticon66.png] 

################################################################################

About

A tool script to fetch data from Baidu Tieba

License:MIT License


Languages

Language:Python 100.0%