最近使用python3 的 requests 的库,看了下官网的基本教材,及其简单、及其强大。

看完了教程自然就要上手练习了,这次练习就以小说网站为目标。小说网站简单,包含文字和图片,量也大。

1. 首先基本请求

r = requests.get('https://xxx', verify=false) # https网站不验证
soup = bs4.BeautifulSoup(res.text, 'lxml') # 解析器
book_name = soup.select('div.book_name')[0].text
book_author = soup.select('div.book_author')[0].text
book_url = soup.select('a.book_url')[0].get('href')
book_img_url = soup.select('a.img')[0].get('src')

这样书籍的基本信息就采集到了,可以保存到数据库或者其他保存方式。

2. 采集书籍的章节

上面的 book_url 就是书籍的详情地址

r = requests.get(book_url, verify=false) # https网站不验证
soup = bs4.BeautifulSoup(res.text, 'lxml') # 解析器
chapter_list = soup.select('div.chapter_list ul li')
mulu = [] # 将所有章节列表存储起来
for chapter in chapter_list:chapter_name = chapter.select('a')[0].get('href')chapter_url = chapter.select('a')[0].textmulu.append((chapter_name, chapter_url)) # 以元组的方式保存(字典肯定也可以)

这样书籍的所有章节信息就才采集好了,接下来就是采集内容了,内容相对简单,纯文字。

3. 采集章节内容

r = requests.get(chapter_url, verify=false) # https网站不验证
soup = bs4.BeautifulSoup(res.text, 'lxml') # 解析器
chapter_content = soup.select('div.content').text # 这是纯文字形式,保留样式需要用content,但样式肯定是自己写好的
with open(r'1.txt', 'w') as f:    # 这里应该替换成自己的 html 模板f.write(chapter_content)

这样基本就都采集好了。

要采集的内容就是这几样,下面就是添加控制了。

4. 书籍的定时更新

from apscheduler.schedulers.background import BackgroundSchedulerscheduler = BackgroundScheduler()
scheduler.start()@scheduler.scheduled_job('interval', seconds=3)
def print_str():""" update data """print('...')# scheduler.shutdown() 任务停止

以上时间是秒,正常情况我使用的是小时。

5. 将采集的小说发布出来需要集成 flask

此时更新书籍的定时任务也需要改

class Config(object):JOBS = [{'id': 'update_book','func': update_book,'trigger': 'interval','hours': 1}]SCHEDULER_API_ENABLED = Trueif __name__ == '__main__':app.config.from_object(Config())scheduler = APScheduler()scheduler.init_app(app)scheduler.start()app.run(host='0.0.0.0')

上面使用的 flask ,也可以使用其他 web 容器,这样小说网站基本就搭建完成了。基本正常运行一段时间,问题应该不大。

此时,python requests 使用基本熟悉很多了。

使用Python3采集小说网站相关推荐

  1. python采集小说网站完整教程(附完整代码)

    python 采集网站数据,本教程用的是scrapy蜘蛛 1.安装Scrapy框架 命令行执行: pip install scrapy 安装的scrapy依赖包和原先你安装的其他python包有冲突话 ...

  2. 宝塔面板+PTCMS搭建自采集小说网站

    文章转自鲸鱼啊:https://www.jingyua.com 现在已经默认安装好宝塔面板,如果没有请移步这里:一步一步教你用vps+宝塔面板搭建几种常见的网站 下载源文件: https://pan. ...

  3. 织梦dedecms小说网站源码|带采集+搭建方式

    介绍: 织梦dedecms小说网站源码,带全自动采集功能. 此套源码某宝买的,东西全套! 源码文件夹带部署搭建教程, 与普通织梦安装方法几乎一致,另外有专门的官方教程,非常详细. 网盘下载地址: ht ...

  4. 爱看小说手机网源码全站带3w数据带采集,ThinkPHP内核小说网站源码带听书等全部插件

    源码介绍 会员分享的一款自带2w数据爱看小说网源码全站带数据打包,ThinkPHP内核小说网站源码带听书等全部插件 还带了采集规则,采集是没问题的但是不保证时效,早下载早采集!! 喜欢的拿去研究学习吧 ...

  5. PHP自适应小说网站源码深度SEO优化自动采集

    深度SEO优化自动采集PHP自适应小说网站源码,此源码是深度SEO优化自动采集的新版本,小说不占内存,存个上万小说不成问题. 记住采集以后的文章需要处理文章信息,至于自动采集我没去细细研究,跟前面的版 ...

  6. 可以自动采集的小说网站程序源码

    简介: thinkphp开发的可以自动采集的小说网站程序源码,全程序自动采集.用来搭建小说网站非常适合. 开发框架是thinkphp,非常容易二次开发. 资源包里有打包好的数据库,安装后恢复一下就可以 ...

  7. 手机下载小说为php格式的,PHP响应式小说网站整站源码(自适应手机移动端+深度SEO优化自动采集+图文安装教程)...

    [温馨提示]源码包解压密码:www.youhutong.com 资源描述 PHP响应式小说网站整站源码(自适应手机移动端+深度SEO优化自动采集+图文安装教程) 源码介绍: 深度SEO优化自动采集的新 ...

  8. 自动采集的网站源码-自动采集发布的电影小说新闻网站程序源码

    自动采集网站源码,有不少SEO的同伴们都在找可以自动采集网站源码,但是这种源码真的好吗?首先可以自动采集的网站源码程序,规则也是别人写好的,采集的内容也是别人用过的,对于网站收录肯定不是那么友好.我们 ...

  9. python 小说 云_python小说网站

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python爬虫之小说网站--下载小说(正则表达式)思路:1. 找到要下载的小说 ...

最新文章

  1. python 打开路径下文件_Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法...
  2. NSIS:判断并安装.NET Framework的例子(转载)
  3. SAP UI5库对浏览器类型检测的实现
  4. Java Spring研究之initHandlerMappings - MavenSandbox debug
  5. C++学习之路 | PTA乙级—— 1075 链表元素分类 (25 分)(精简)
  6. 《iOS 6核心开发手册(第4版)》——2.11节秘诀:构建星星滑块
  7. 各种水龙头拆卸图解_各种水龙头拆卸图解法
  8. python 字符串前面的“r“是个啥?
  9. win7右键计算机死机,Win7桌面点击右键死机的解决方法
  10. kpw4换壁纸_发挥全部潜能,Kindle越狱指南
  11. 整型数字的英文表达和中文表达
  12. 【GDScript】保存/加载物品装备数据
  13. 小金鱼怎么不出来??
  14. 腾讯 纸牌游戏 (排序)
  15. 包装类的使用:自动装箱与自动拆箱
  16. 一道技术美术的面试题
  17. 虚拟化查看服务器sn,linux 查看服务器sn号
  18. sql报错解决方案:attempted to return null from a method with a primitive return type (int)
  19. certbot安装https证书
  20. 09 年,台式机显卡功耗表

热门文章

  1. arduino ide 2.0 中文设置
  2. 如何去除Word中的波浪线?这三种方法很实用!
  3. 如何防止服务器记录上网信息,服务器怎么监控上网记录
  4. BufferedRead
  5. matlab spline边界约束,三阶样条插值(一阶导数边界条件) matlab程序
  6. GitHub 标星 2.9w+,我发现了一个宝藏项目,作为编程新手有福了!
  7. 赵雅智_名片夹(5)_Android中listview可折叠伸缩仿手风琴效果(动态)
  8. RN新架构 JSI 介绍
  9. JAVA入门Hwork,HBase Java编程入门教程
  10. IOS APP 测试方法和测试工具大揭秘