python抓取知识星球精选帖,制作为pdf文件
版权声明:本文为xing_star原创文章,转载请注明出处!
本文同步自http://javaexception.com/archives/90
背景:
这两年知识付费越来越热,我也加入了不少知识星球,总觉得信息有些过载了。一天不看,就有500+的内容显示未读,弄的自己格外的焦虑。感觉这样非常不好,就想要找办法解决,比如把精华帖抓取下来制作成pdf文件,这样自己随时可以翻阅,或者拿出整块的时间阅读,不用担心遗漏。记得年初的时候做过一番尝试,在Github上看到几个不错的项目,关于抓取知识星球帖子内容的开源项目,测试了几个,选中了一个非常不错的项目,当然了自己对这个项目的代码做了一点点小调整,fork了一份,地址是https://github.com/xingstarx/crawl-zsxq。
解决办法:
由于知识星球官方对反爬比较严,有一些反制手段,这个项目的代码也需要不断的迭代更新,这是一个攻防对抗的过程。
具体如何执行就不讲了,可以看这个项目的readme。按照上面的描述,准备python环境,以及相关的依赖,然后修改对应的header里面的关键参数,那么就可以将程序跑起来了。
常见的问题:
这里额外说一下程序跑起来的过程中,会碰到的一些问题。
1.header信息修改的有问题,这块可以通过chrome浏览器的开发者工具解决,或者是charles抓包工具解决,不懂的可以google下
2.执行crawl.py的时候,如果提示ssl等之类的问题,那么关掉charles之类的抓包工具
3.如果爬取的文件特别多,特别大,几百上千个文件,还包含图片的,这种最好分步骤操作,比如先把html下载下来,接着分为3-5部分,每次取出1/3或者1/5的量执行make_pdf函数,这个可能需要修改下代码,可以参考https://github.com/xingstarx/crawl-zsxq/issues/1。
另外这个开源项目是为了方便自己的,还是不要用于盗版,作恶可不好,还是多尊重知识,尊重版权啊。
项目地址:
https://github.com/xingstarx/crawl-zsxq
python抓取知识星球精选帖,制作为pdf文件的更多相关文章
- Python 抓取网页并提取信息(程序详解)
最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...
- 使用Python抓取猫眼近10万条评论并分析
<一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...
- 使用 Python 抓取欧洲足球联赛数据
Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤 数据的采集和获取 数据的清洗,抽取,变形和装载 数据的分析,探索和预测 ...
- python抓取性感尤物美女图
由于是只用标准库,装了python3运行本代码就能下载到多多的美女图... 写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完. 测试发现速度一般,200K左右的下载速度,也没有很 ...
- python抓取网页例子
python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>
Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...
- 如何用python抓取js生成的数据 - SegmentFault
如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...
- 关于python抓取google搜索结果的若干问题
关于python抓取google搜索结果的若干问题 前一段时间一直在研究如何用python抓取搜索引擎结果,在实现的过程中遇到了很多的问题,我把我遇到的问题都记录下来,希望以后遇到同样问题的童 ...
- 用python抓取智联招聘信息并存入excel
用python抓取智联招聘信息并存入excel tags:python 智联招聘导出excel 引言:前一阵子是人们俗称的金三银四,跳槽的小朋友很多,我觉得每个人都应该给自己做一下规划,根据自己的进步 ...
随机推荐
- Luogu P1463 [POI2002][HAOI2007]反素数【数论/dfs】By cellur925
题目传送门 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1 ...
- autolayout UIImageView 根据 UILabel的宽度变换位置
仅个人学习笔记,大牛勿喷 代码写法 使用Masonry //昵称 _nameLableView = [[UILabel alloc]init]; [_nameLableView setTextColo ...
- UITableViewCell添加点击时改变字体的颜色、背景、图标
改变字体颜色:cell.textLabel.highlightedTextColor 改变背景颜色:cell.selectedBackgroundView (必须是图片哦) 改变图标颜色:cell.i ...
- hud3371 Connect the Cities 简单最小生成树
//我看过Discuss说不能用克鲁斯卡尔因为有很多边 //但是只能用G++过,C++的确超时 #include <stdio.h> #include <string.h> # ...
- 449B
B. Chtholly's request time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- Vue-cli构建项目, 组件中js代码引入图片路径问题
问题描述 .vue的组件分成三个部分, template结构部分, script路径代码, style页面样式 首先, 我们可以在template可以正确引入, 无论是dev, 还是build都没有问 ...
- Android 暗码表
转自: http://blog.csdn.net/jiangshide/article/details/8192834 不同手机厂商可能会隐藏或修改暗码,部份暗码要谨慎使用,因为可能令手机失去原有的功 ...
- mysql数据误删除(drop)的恢复. (ext3grep, extundelete)
drop table tbl_name 物理删除.没有备份,没有二进制日志 在系统删除文件并非在存储中抹去数据,而仅仅是标识对应的block块可以被重新的分配使用.所以数据的恢复还是有希望的.但是那些 ...
- AJPFX简述Context.startService()和Context.bindService
Context.startService()和Context.bindService 服务不能自己运行,需要通过调用Context.startService()或Context.bindService ...
- Java子类与父类方法的隐藏和覆盖
class Base{ int x = 1; static int y = 2; String name(){ return "mother" ...