爬虫还是不会写,所以借鉴一个,仔细分析分析:https://blog.csdn.net/only_anan/article/details/80082316

1,导入爬取要用到的库,主要是是BeautifulSoup库很有用

import re
import urllib.request
from bs4 import BeautifulSoup

2,利用BeautifulSoup库获取网址

用到的基本知识:

1,方法选择器:find_all()


#功能:得到符合条件的所有元素
API如下:
find_all(name,attrs,recursive,text,**kwargs)
(1),name
根据节点名来查询元素,
例:find_all(name='ul')#查询所有的ul节点
(2),attrs
根据插入的属性查询
例:find_all(attrs={'name':'elements'})#查询节点名为name,其属性为elements的所有元素
find_all(attrs={'id':'list-1'})#查询节点名为id,其属性为list-1的所有元素
(3),text
text参数可用来匹配节点的文本,传入的形式:字符串||正则表达式对象
格式:find_all(text=re.compile('link'))||find_all(text='string')结果 返回所有匹配正则表达式的结点文本组成的列表例:<ul>string_string</ul>
string_string  即为节点的文本

2,get()方法

获取某个属性的值:
1,如果我们想要单独获取某个属性,可以这样,例如我们获取它的 class 叫什么
print soup.p['class']
#['title']
2,利用get方法,传入属性的名称,
print soup.p.get('class')
#['title']补充:1,属性的内容可以更改.
soup.p['class']="newClass"
print soup.p
#<p class="newClass" name="dromouse"><b>The Dormouse's story</b></p>
2,可以将属性删除
del soup.p['class']
print soup.p
#<p name="dromouse"><b>The Dormouse's story</b></p>

3,获取网址:

<ul id="menu-list">#顾名思义,菜单列表,本页面所有的美剧纸牌屋第四季链接都是其子节点

<li> 相当于 "每一个美剧纸牌屋第四季"

<h2> 相当于 "标题"

最后正则表达式提取

'''获取网址'''
def get_url(url):Url = []#url = 'http://www.kekenet.com/video/16692/'f = urllib.request.urlopen(url)html = f.read()soup = BeautifulSoup(html,'html.parser')content = soup.find_all('ul',id='menu-list')for tag in content:li = tag.find_all('li')        #类型<class 'bs4.element.ResultSet'>#print(type(li))for tag2 in li:h = tag2.find_all('h2')for tag3 in h:h1 = tag3.find_all('a',text=re.compile(r'MP3+'))   # re.compile() 正则表达匹配,匹配内容不能为中文for tag4 in h1:t = tag4.get_text()             #获取内容get_url = tag4.get('href')      #获取URLUrl.append(str(get_url))Url = reversed(Url)   #将列表中的所有元素进行倒序排列return (list(Url))    #必须添加list,将其转换为list#print(list(Url))

4,获取网页内容:

'''获取网页中的内容'''
url1 = []
base_url = 'http://www.kekenet.com/video/15830/List_'
for i in range(18):full_url = base_url + str(i+1) +'.shtml'url1.append(full_url)
url1.append('http://www.kekenet.com/video/15830/')# print(url1)
# print(len(url1))

这个网址如何得到?

http://www.kekenet.com/video/15830/List_

很简单:因为字幕存储在这个网页之下(可以点开看一下,直接跳转)

5,保存文本

要爬取字幕首先要找到字幕

n = 0
for i in range (len(url1)):url = url1[i]Get_Url = get_url(url)for i in range(len(Get_Url)):f = urllib.request.urlopen(Get_Url[i])html = f.read()soup = BeautifulSoup(html,'html.parser')   #解析抓取到到htmltitle = soup.title.get_text()              #获取html的titleen_contents = soup.find_all('div',class_='qh_en')zg_contents = soup.find_all('div',class_='qh_zg')file = 'M_S6.txt'with open(file,'a') as f:     #追加的方式写入文件f.write(title)n = n+1for content in zip(en_contents,zg_contents):    #同时输出两个列表中的元素,先将其转化为元组f.write(content[0].get_text())               #输出元组中的第一个元素,即第一个列表中的第一个元素f.write(content[1].get_text())            #输出元组中的第2个元素,即第2个列表中的第1个元素f.write('\n')                                 #换行#breakprint(n)

Python爬取 美剧《纸牌屋》字幕(可可英语)---BeautifulSoup版相关推荐

  1. 通过爬取美剧天堂详细介绍Scrapy 框架入门

    通过爬取美剧天堂并详细介绍Scrapy 框架 前言(了解) 全文写了很多注释在标题处,时间充裕的可以详细看,需要找主要知识点的我已经标注明白了,直接翻到具体位置就行. Scrapy是用纯Python实 ...

  2. SpringBoot集成jsoup多线程爬取美剧天堂全部电影资源

    SpringBoot集成jsoup爬取美剧天堂全部美剧资源 准备工作 这次我的目的是获取这个网站的所有美剧的信息和迅雷的BT地址,我们需要获取的信息都在上万个类似于下面个页面结构的页面上 确定了目标, ...

  3. Python爬虫爬取美剧网站

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

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

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

  5. python爬虫实战:爬取美剧网站

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

  6. Python爬取不羞涩网小姐姐图片——BeautifulSoup应用

    引言 今年提倡原地过年,相信很多朋友都没有回家过年,像我就被迫留在深圳过年了,无聊之余只能去看看电影爬爬山.今天给大家带来一个打发无聊时光的案例,用Python爬取不羞涩网小姐姐图片,并保存到本地,老 ...

  7. 从零开始,手把手教你python爬取美足船袜网!

    目标网址:http://mzsock.com 美足船袜网 你懂得!! 这里先给大家介绍一个python自带的库 :urllib.request urllib.request --- 用于打开 URL ...

  8. Scrapy入门实例_爬取美剧天堂的最新前100

    使用工具:Python3.6版本 Python官网:https://www.python.org/ 目录 Scrapy的安装 Scrapy爬取数据步骤 一.创建工程: 二.创建爬虫程序 三.编辑爬虫 ...

  9. python3 --小爬虫(爬取美剧字幕)

    # !bin/usr/env python3 # coding=utf-8 import re import urllib.request from bs4 import BeautifulSoup' ...

最新文章

  1. react native redux 梳理
  2. linux alpine 提示'/bin/sh: rc-service: not found'解决方案
  3. 用java编写计时器_JAVA编写计时器
  4. 【比较面】真核生物和原核生物的异同
  5. QT学习:QTime类
  6. c ++ stl_通过分配另一个列表的所有元素来创建列表| C ++ STL
  7. js 二叉树图形_在线生成二叉树(基于EaselJS(canvas))
  8. 朱广权李佳琦直播掉线,1.2 亿人在线等
  9. coredump详解
  10. Oracle如何实现跨库查询
  11. 【UE4】UE4文件系统
  12. idea 使用中文汉化包教程
  13. 计算机网络知识点总结
  14. linux 光盘刻录命令,Linux中使用命令进行光盘刻录
  15. Java集合(一):集合的概念
  16. JavaScript颜色加深或减淡
  17. 谁是世界上最好的编程语言?--编程语言70年浅谈
  18. Linux curl 命令模拟 POST/GET 请求
  19. 服务器网卡性能下降的原因,网卡的好坏会影响网速吗
  20. EasyPoi导出之复杂合并单元格

热门文章

  1. sitf+LK+pnp 识别、跟踪图片,并求三维旋转角度(四) -----LK光流跟踪
  2. 大屏可视化!2022新趋势!
  3. 腾讯T2大牛亲自讲解!mysql服务安装命令
  4. 基于51单片机电子密码锁门禁开关设计全套资料
  5. 上传本地文件/代码到服务器空间
  6. document.title获取当前网页的标题
  7. linux3.5 usb键盘,CRUX 3.5发布下载,一款轻量级且为i686优化的Linux发行版
  8. 想要教AI一个常识真的好难,幸运的是保罗·艾伦拿钱闯进来了
  9. awesome-android-tips
  10. 【EduCoder答案】搜索问题与技术