【写在前面】

最近大火的《长安十二时辰》真的是好看,算的是良心网剧了。但是由于平时工作时间较长,经常无法准时追剧,并且又因为不想见到元裁那对挨千刀的(作为演员,演技是值得肯定的,角色演绎的让人看的心烦)。因此就写个程序,直接爬取《长安》的剧情呗!

【示例代码】

# coding=utf-8
# @Auther : 鹏哥贼优秀
# @Date : 2019/8/7from bs4 import BeautifulSoup
import requests
import getheader# 获取每一集对应的标题及对应的界面URL关键地址
def get_title():url = "https://www.tvsou.com/storys/0d884ba0dd/"headers = getheader.getheaders()r = requests.get(url, headers=headers)r.encoding = "utf-8"soup = BeautifulSoup(r.text,"lxml")temps = soup.find("ul",class_="m-l14 clearfix episodes-list teleplay-lists").find_all("li")tempurllist = []titlelist = []for temp in temps:tempurl = temp.a.get("href")title = temp.a.get("title")tempurllist.append(tempurl)titlelist.append(title)return tempurllist,titlelist# 下载长安十二时辰的第x集之后所有剧情,默认从第一集开始下载。
def Changan(episode=1):tempurllist_b,titlelist_b = get_title()tempurllist = tempurllist_b[(episode-1):]titlelist = titlelist_b[(episode-1):]baseurl = "https://www.tvsou.com"for i,tempurl in enumerate(tempurllist):print("正在下载第{0}篇".format(str(i+episode)))url = baseurl + tempurlr = requests.get(url, headers=getheader.getheaders())r.encoding = "utf-8"soup = BeautifulSoup(r.text, "lxml")result = soup.find("pre", class_="font-16 color-3 mt-20 pre-content").find_all("p")content = []for temp in result:if temp.string:content.append(temp.string)with open("test.txt", "a") as f:f.write(titlelist[i] + "\n")f.writelines(content)f.write("\n")if __name__ == "__main__":Changan(43)

【知识点】

1、怎么自动获取每一集对应的URL地址?

先查看第一集的爬取内容,发现在响应中有一段各剧集的信息,如下图:

从这段响应消息中可以看到,每一集对应了一个href,然后第一集的URL地址中“https://www.tvsou.com/storys/0d884ba0dd/”刚好有部分URL地址与href一致。然后再验证了下第二集URL,发现的确就是对应的href。因此就得到了如何自动获取各集URL地址的方式。

2、如何爬取每一集的剧情内容呢?

以第一集为例,在响应中可以看到这样一段内容。


在class_="font-16 color-3 mt-20 pre-content"标签内,就有剧情内容。但是由于这段响应中有多个p标签,每个p标签对应一段内容。因此需要要对每个p标签进行text提取。并且由于第一个p标签是<p></p>,因此需要进行非空判断。

【Python成长之路】python 从零学爬虫 -- 没时间看《长安十二时辰》电视剧怎么办?直接爬取所有剧情吧!相关推荐

  1. url 里面 等号_【Python成长之路】从零学爬虫给微信公众号阅读量作个弊:刷阅读量...

    [写在前面] 小燕同学:鹏哥,我在微信公众号上写的一些美妆博客,都没什么阅读量,老板要求我在这个月底至少让几篇博客阅读量达到10W+,你说我要不要每天自己去刷或者找水军呀? 鹏哥:博客刷阅读量?这不是 ...

  2. python黑客库长安十二时辰 更新_【Python成长之路】python 从零学爬虫 -- 没时间看《长安十二时辰》电视剧怎么办?直接爬取所有剧情吧!...

    [写在前面] 最近大火的<长安十二时辰>真的是好看,算的是良心网剧了.但是由于平时工作时间较长,经常无法准时追剧,并且又因为不想见到元裁那对挨千刀的(作为演员,演技是值得肯定的,角色演绎的 ...

  3. python槽怎么用_【Python成长之路】从零学GUI -- 多窗口跳转(信号与槽函数用法)...

    [写在前面] 自学python,不同于工作上的代码编程,主要是为了好玩或者满足自己的需求.因此,我一直想自己做些APP,未来可以给小朋友做做练习,比如让她学习算术.学习成语接龙之类的.总不能让她看这样 ...

  4. 好想学python机器人_【Python成长之路】从零学GUI -- 制作智能聊天机器人

    [写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...

  5. 【Python成长之路】从零学GUI -- 制作智能聊天机器人

    [写在前面] 鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了.哎,好无聊呀! 肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩. 鹏哥:图灵?好巧,和我部门同名. [效果如下] [实现过程] ...

  6. 【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台

    [写在前面] 你要开发网站?    嗯.. 会Flask吗?    什么东西,没听过... 会JQuery吗?    是python的库吗 ? 那你会什么?    我会F12打开网站 好吧,那我们来写 ...

  7. python做网站开发_【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台...

    [写在前面] 你要开发网站?    嗯.. 会Flask吗?    什么东西,没听过... 会JQuery吗?    是python的库吗 ? 那你会什么?    我会F12打开网站 好吧,那我们来写 ...

  8. 【Python成长之路】从零做网站开发 -- 下拉选择项的实现

    上次的搜索功能,有粉丝提到,能不能设置成可选的搜索条件.答案自然是可以的,所以我就又在上上周的基础上添加了下拉选 效果展示 这里我基于select标签和a标签的两种方式,实现了下拉项的功能. 知识串讲 ...

  9. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

最新文章

  1. GSVA包进行基因集变异分析
  2. 在通知栏上玩游戏,Steve iOS 游戏实现思路
  3. 从机器学习谈起(机器学习简介)
  4. 世界农业发展史-国际农民丰收节贸易会:人类的发展史
  5. 可视化排班管理_小白经理的思考日记-可视化看板和走动管理
  6. python-week6
  7. python坐标定位_Python_元素定位浏览器坐标定位
  8. Winform用Post方式打开IE
  9. 【python基础】--常用数据结构
  10. macOS big Sur 无限进入恢复模式,如何修复
  11. 新年新起点-荣获2011年度Silverlight方向Microsoft® MVP奖
  12. 关于springboot无法跳转解析html,404,500无法创建实体类工厂
  13. 如何轻松回收您无法出售的旧电子产品
  14. MCE公司:免疫治疗新课题——好心情,要保持!
  15. 关于Ubuntu18.04双系统安装后无法连接WiFi问题解决方法
  16. Java jmap与jcmd命令dump内存heap堆
  17. Python网络爬虫入门(五)—— 巧用抓包,爬遍SCU玻璃杯事件所有神回复
  18. PaddleDetection复现笔记
  19. c语言s10 是什么意思啊,【S10】A.FortunatelyB.ComparativelyC.ConsequentlyD.Conversely - 试题答案网问答...
  20. Fabric学习(一) — 区块链及相关技术介绍

热门文章

  1. matlab画奥迪标志,绘画汽车,用PS绘制一个逼真的奥迪汽车
  2. 吕布机器人评测_入手评测腾讯态客王者荣耀吕布机器人普通版好用吗?怎么样呢?用户吐槽曝光...
  3. 使用Git切换分支(创建本地分支,远程分支,合并分支代码)
  4. 第1章 eNSP及VRP基础操作
  5. 关于 SQL Error: 1146, SQLState: 42S02的解决方案
  6. html鼠标事件有哪些,JavaScript事件类型:鼠标事件
  7. 【金猿案例展】西安市公安局交警支队:城市大脑指挥中心可视一体化创新应用系统建设...
  8. Windows防火墙问题3--由于安全考虑,某些设置由组策略控制
  9. Python带你朗读网页
  10. A股常见的宽基指数:沪深300,中证500,和创业板指数