最近使用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. COCO 2019挑战赛,旷视研究院拿下三项计算机识别冠军 | ICCV 2019
  2. 什么用于创建python与数据库之间的链接_python3连接数据库用什么
  3. 在硒中查找具有链接文本和部分链接文本的元素
  4. Python字符串有关的方法汇总
  5. 7-8-无向图的关节点-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
  6. Android PDF 的 读取 与 生成
  7. 安卓帧数监测软件_手机帧数测试软件-手机fps帧数显示软件1.6 免root版-东坡下载...
  8. 一元二次方程极简新解法
  9. Scaling Your Node.js Apps 免积分下载
  10. H3C 无线WLAN侧AC+FIA配置
  11. Strings, bytes, runes and characters in Go
  12. 【历史上的今天】7 月 19 日:IMAP 协议之父出生;Project Kotlin 公开亮相;CT 成像实现新突破
  13. 基础九大字段改造,解除强依赖数据库设计
  14. Nmap 扩展(一)
  15. Mathon广告过滤规则发现
  16. char与nchar的区别
  17. 「SDOI 2008」山贼集团
  18. SolidWorks安装出现该产品组件的 Windows Installer 没按预期运行
  19. 权威服务器怎么修改ttl值,Windows服务器修改默认TTL值的方法
  20. 树莓派常用的软件(记录)

热门文章

  1. iPhone播放声音文件的例子
  2. windows下用cmd卸载程序
  3. cs224w(图机器学习)2021冬季课程学习笔记8 Colab 2
  4. ps2模拟器bios3dm_呆萌PS2模拟器bios文件下载|呆萌PS2模拟器专业版下载v3.1.2-乐游网安卓下载...
  5. 十年磨一剑,剑出荡魑魅
  6. Vue - 姓名案例
  7. 微信小程序真机调试方法出现问题
  8. python将doc导入数据库_用python将路径文件导入mysql数据库表
  9. 扇贝python课程打卡_Learning by doing——百日“扇贝打卡” 历程展望
  10. 用SNMP协议实现系统监控