一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间。之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了。但是,作为一个宅diao的我又怎甘心没剧追呢,所以网上随便查了一下就找到一个能用迅雷下载的美剧下载网站【天天美剧】,各种资源随便下载,最近迷上的BBC的高清纪录片,大自然美得不要不要的。

虽说找到了资源网站可以下载了,但是每次都要打开浏览器,输入网址,找到该美剧,然后点击链接才能下载。时间长了就觉得过程好繁琐,而且有时候网站链接还会打不开,会有点麻烦。正好一直在学习Python爬虫,所以今天就心血来潮来写了个爬虫,抓取该网站上所有美剧链接,并保存在文本文档中,想要哪部剧就直接打开复制链接到迅雷就可以下载啦。

其实一开始打算写那种发现一个url,使用requests打开抓取下载链接,从主页开始爬完全站。但是,好多重复链接,还有其网站的url不是我想的那么规则,写了半天也没有写出我想要的那种发散式的爬虫,也许是自己火候还不到吧,继续努力。。。

后来发现,其电视剧链接都是在文章里面,然后文章url后面有个数字编号,就像这样的http://cn163.net/archives/24016/,所以机智的我又用了之前写过的爬虫经验,解决方法就是自动生成url,其后面的数字不是可以变的吗,而且每部剧的都是唯一的,所以尝试了一下大概有多少篇文章,然后用range函数直接连续生成数来构造url。

但是很多url是不存在的,所以会直接挂掉,别担心,我们用的可是requests,其自带的status_code就是用来判断请求返回的状态的,所以只要是返回的状态码是404的我们都把它跳过,其他的都进去爬取链接,这就解决了url的问题了。

以下就是上述步骤的实现代码。

其余的就进行的很顺利了,网上找到前人写的类似的爬虫,但是只是爬取一篇文章的,所以借鉴了一下其正则表达式。自己用了BeautifulSoup还没有正则效果好,所以果断弃了,学海无涯啊。但是效果也不是那么理想,有一半左右的链接不能正确抓取,还需继续优化。

完整版代码,其中还用到了多线程,但是感觉没什么用,因为Python的GIL的缘故吧,看似有两万多部剧,本以为要很长时间才能抓取完成,但是除去url错误的和没匹配到的,总共抓取时间20分钟不到。搞得我本来还想使用Redis在两台Linux上爬取,但是折腾了一番之后感觉没必要,所以就这样吧,后面需要更大数据的时候再去弄。

还有过程中遇到一个很折磨我的问题是文件名的保存,必须在此抱怨一下,txt文本格式的文件名能有空格,但是不能有斜线、反斜线、括号等。就是这个问题,一早上的时间都花在这上面的,一开始我以为是抓取数据的错误,后面查了半天才发现是爬取的剧名中带有斜杠,这可把我坑苦了。

python爬虫实战:爬取美剧网站相关推荐

  1. Python爬虫实战爬取租房网站2w+数据-链家上海区域信息(超详细)

    Python爬虫实战爬取租房网站-链家上海区域信息(过程超详细) 内容可能有点啰嗦 大佬们请见谅 后面会贴代码 带火们有需求的话就用吧 正好这几天做的实验报告就直接拿过来了,我想后面应该会有人用的到吧 ...

  2. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  3. python爬虫实战---爬取大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...

  4. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  5. python爬虫:爬取猎聘网站职位详情

    python爬虫:爬取猎聘网站职位详情 第一次学习python,也是刚开始学习爬虫,完成的第一个实例,记录一下. baseurl.py # @author centao # @time 2020.10 ...

  6. python爬虫实战--爬取猫眼专业版-实时票房

    小白级别的爬虫入门 最近闲来无事,发现了猫眼专业版-实时票房,可以看到在猫眼上映电影的票房数据,便验证自己之前学的python爬虫,爬取数据,做成.svg文件. 爬虫开始之前 我们先来看看猫眼专业版- ...

  7. Python爬虫爬取美剧网站

    一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间.之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了. 但是,作为一个宅dia ...

  8. Python爬虫带你爬取美剧网站

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:哲洛不闹 一直有爱看美剧的习惯,一方面锻炼一下英语听力 ...

  9. Python爬虫实战- 爬取整个网站112G-8000本pdf epub格式电子书下载

    (整个代码附在最后) 目录: 爬虫准备 - 某电子书网站内容架构分析 爬虫前奏 - 网站Html代码分析,如何获取需要的链接? 爬虫高潮 - 测试是否有反爬虫措施,测试是否能正常下载一个sample ...

最新文章

  1. linux wifi-tools,Linux下WiFi工具wireless_tools交叉编译,及其支持生成iwconfig使用的内核配置...
  2. 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式
  3. 2017年第八届蓝桥杯C/C++ B组国赛 —— 第三题:希尔伯特曲线
  4. php mariadb 查询语法,从PHP调用的查询中的MySQL(MariaDB)执行超时
  5. 饿了吗商品列表_仅仅一字之差,饿了么起诉饿了吗
  6. linux内核_Linux内核编程风格简介
  7. 右键菜单显示项的可见度控制 c# 1614605595
  8. 20201008:力扣209周周赛题解(下)
  9. 【元胞自动机】基于matlab元胞自动机模拟交通流【含Matlab源码 355期】
  10. java并发编程源码_Java并发编程实战 PDF+源码
  11. 201632位matlab下载_Matlab R2016a x32|matlab 2016a 32位版下载 完全免费版 - 121下载站
  12. ureport2使用
  13. android toast显示时间,Android Toast自定义显示时间
  14. fread fwrite之后文件指针位置
  15. 手机浏览器下载文件名乱码解决
  16. 1.计算机领域的安全世界观
  17. google多开设置
  18. springboot项目:家庭整理服务管理系统39774(java+VUE+Mybatis+Maven+Mysql)
  19. horizon流程图_致同Horizon审计方法论.pdf
  20. 竞争性传输函数:compet

热门文章

  1. html仿命令行界面,HTML仿命令行界面具体实现方法
  2. IDEA导入NetBeans项目
  3. python中字典处理函数get和setdefault的区别
  4. 高仙主导丨中国电器工业协会发布首个商用清洁服务机器人团体标准
  5. Vue全家桶(一)之基础指令
  6. 用MATLAB创作歌曲
  7. 中国聚异丁烯市场研究与投资价值报告(2022版)
  8. ms office word2013教程 - 页眉页脚
  9. isnan函数 linux,为什么isnan含糊不清以及如何避免它?
  10. Android——Framework目录分析及系统启动过程以及目录简介