dingdian-master

所属分类:其他
开发工具:Python
文件大小:177KB
下载次数:2
上传日期:2018-07-05 02:12:42
上 传 者milipu
说明:  顶点小说爬虫网站 适合 爬虫爱好者研究使用
(python spider web flask)

文件列表:
LICENSE (1062, 2017-08-04)
Procfile (24, 2017-08-04)
config.py (1102, 2017-08-04)
dingdian (0, 2017-08-04)
dingdian\__init__.py (601, 2017-08-04)
dingdian\main (0, 2017-08-04)
dingdian\main\__init__.py (0, 2017-08-04)
dingdian\main\api.py (1291, 2017-08-04)
dingdian\main\forms.py (256, 2017-08-04)
dingdian\main\views.py (5218, 2017-08-04)
dingdian\models.py (2587, 2017-08-04)
dingdian\spider (0, 2017-08-04)
dingdian\spider\spider.py (3209, 2017-08-04)
dingdian\static (0, 2017-08-04)
dingdian\static\css (0, 2017-08-04)
dingdian\static\css\bootstrap.min.css (122540, 2017-08-04)
dingdian\static\css\styles.css (361, 2017-08-04)
dingdian\static\favicon.ico (3366, 2017-08-04)
dingdian\static\fonts (0, 2017-08-04)
dingdian\static\fonts\glyphicons-halflings-regular.eot (20127, 2017-08-04)
dingdian\static\fonts\glyphicons-halflings-regular.svg (108738, 2017-08-04)
dingdian\static\fonts\glyphicons-halflings-regular.ttf (45404, 2017-08-04)
dingdian\static\fonts\glyphicons-halflings-regular.woff (23424, 2017-08-04)
dingdian\static\fonts\glyphicons-halflings-regular.woff2 (18028, 2017-08-04)
dingdian\static\js (0, 2017-08-04)
dingdian\static\js\jquery.min.js (84380, 2017-08-04)
dingdian\templates (0, 2017-08-04)
dingdian\templates\404.html (352, 2017-08-04)
dingdian\templates\500.html (528, 2017-08-04)
dingdian\templates\article.html (655, 2017-08-04)
dingdian\templates\base.html (2226, 2017-08-04)
dingdian\templates\chapter.html (1693, 2017-08-04)
dingdian\templates\index.html (715, 2017-08-04)
dingdian\templates\result.html (1553, 2017-08-04)
manage.py (1057, 2017-08-04)
requirements.txt (252, 2017-08-04)

# dingdian ### 说明 由于顶点网站进行了一次更新,这次项目也进行一次大的更新。基本上是推翻前一次所有的实现方法。 还在为网上小说网站广告弹窗而烦恼吗,自己写一个吧。 ### 爬虫实现 ~~~利用正则表达式加`requests`库,抓取顶点网的小说数据。~~~ 由于`re`匹配数据速度太慢了,改用`xpath`和`requests`库,抓取顶点网的小说数据。 爬虫api调用: - 搜索结果页:`DdSpider().get_index_result(search, page=0)` - 小说章节页:`DdSpider().get_chapter(book_url)` - 章节内容:`DdSpider().get_article(chapter_url)` 由于正常搜索,需要的最符合的结果都会显示在第一页,所以爬虫设成了默认只抓第一页。不过jinja2模版中加了下一页和上一页的按钮,爬虫会根据具体第几页抓取,不会一次性抓取太多影响运行速度。 爬虫封装在DdSpider类中,如果网站再次更新,只要改动DdSpider就可以了。 ### FLask 每次启动爬虫由`SQLAlchemy`数据库保存数据,加快再次访问速度。 过段时间可能有还在连载的小说会有更新那么需要清空数据库(取消掉manage.py清空数据库的注释),再启动。 ### 本地运行 ``` $ pip install -r requirements.txt $ python manage.py db upgrade $ python manage.py runserver --host 0.0.0.0 ``` ### 部署 利用Gunicorn部署在heroku,具体参考这里[here](https://github.com/Blackyukun/Simpleblog/blob/master/README.md) 不过自己记得在仓库push你的migrations/,还有就是我的manage的deploy被我改了(push到远程服务器出现更新数据库错误),所以大家需要将他改为更新数据库的代码: ```Python @manager.command def deploy(): from flask_migrate import upgrade # 更新 upgrade() ``` 然后部署步骤不变。 访问:[Mynovels](http://dingdian.herokuapp.com) ### 查看详情 知乎[传送门](https://zhuanlan.zhihu.com/p/28216335)

近期下载者

相关文件


收藏者