版权声明:本文为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文件的更多相关文章

  1. Python 抓取网页并提取信息(程序详解)

    最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...

  2. 使用Python抓取猫眼近10万条评论并分析

    <一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...

  3. 使用 Python 抓取欧洲足球联赛数据

    Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤    数据的采集和获取    数据的清洗,抽取,变形和装载    数据的分析,探索和预测    ...

  4. python抓取性感尤物美女图

    由于是只用标准库,装了python3运行本代码就能下载到多多的美女图... 写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完. 测试发现速度一般,200K左右的下载速度,也没有很 ...

  5. python抓取网页例子

    python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...

  6. Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>

    Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...

  7. 如何用python抓取js生成的数据 - SegmentFault

    如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...

  8. 关于python抓取google搜索结果的若干问题

    关于python抓取google搜索结果的若干问题     前一段时间一直在研究如何用python抓取搜索引擎结果,在实现的过程中遇到了很多的问题,我把我遇到的问题都记录下来,希望以后遇到同样问题的童 ...

  9. 用python抓取智联招聘信息并存入excel

    用python抓取智联招聘信息并存入excel tags:python 智联招聘导出excel 引言:前一阵子是人们俗称的金三银四,跳槽的小朋友很多,我觉得每个人都应该给自己做一下规划,根据自己的进步 ...

随机推荐

  1. 面向对象-self这个特殊的参数

    self: 1.只是一个参数. 2.在对象使用方法的时候,当前对象会作为第一个参数的实参传入 3.self相当于语言中的代词,表示当前对象本身(其他语言中也有使用this) 4.self的作用连接整个 ...

  2. [POI2005]Sza-Template

    Description Byteasar 想在墙上涂一段很长的字符,他为了做这件事从字符的前面一段中截取了一段作为模版. 然后将模版重复喷涂到相应的位置后就得到了他想要的字符序列.一个字符可以被喷涂很 ...

  3. Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) B

    Description Bear Limak examines a social network. Its main functionality is that two members can bec ...

  4. 洛谷 P2147 [SDOI2008]洞穴勘测

    以下这个做法应该是叫线段树分治... 根据修改操作预处理出每条边存在的时间区间[l,r](以操作序号为时间),然后把所有形式化后的修改挂到线段树节点上. 处理完修改后,dfs一遍线段树,进入某个节点时 ...

  5. 151 Reverse Words in a String 翻转字符串里的单词

    给定一个字符串,翻转字符串中的每个单词.例如,给定 s = "the sky is blue",返回 "blue is sky the".对于C程序员:请尝试用 ...

  6. [未读]JavaScript高效图形编程

    去年买来就一直搁置,因为是js游戏相关,暂时还用不到.

  7. 生产环境中配置的samba

    实验需求: 由于实验室纳新一帮新孩子,搭建samba主要是临时共享一些学习资源的,基本上大家用的都是windows.而且这个服务可以让他们在校园的里的个个角落都可以访问到,所以给挂了学校的公网,不过我 ...

  8. vue_resource 使用说明

    前几天用vue-resource调用接口,用post方式给后端,发现后端php接受不到数据,这好奇怪,最后发现提交给后端的时候 需要加一个参数 就是:emulateJSON : true 这句话的意思 ...

  9. python工具之日志记录

    ''' 写日志类 日志存放目录为当前应用程序的目录下的log目录中 日志产生规则:每小时产生一个文件 write by :wujf 2017-02-24 ''' import sys import o ...

  10. maven编译报错 -source 1.5 中不支持 lambda(或diamond) 表达式,编码 UTF-8 的不可映射字符

    在用maven编译项目是由于项目中用了jdk 1.8, 编译是报错  -source 1.5 中不支持 lambda 表达式. 错误原因: Maven Compiler 插件默认会加 -source ...