python爬取作品集_Python爬取字幕文件保姆级笔记

需要用到的包有:

requests 发起GET请求

bs4.BeautifulSoup 解析网页

fake_useragent.UserAgent 随机用户代理

以《小鬼当家2》为例搜索字幕资源:

需要注意的地方有:

搜索结果的URL格式是 http://www.zimuku.la/search?q=电影名称

这个页面并没有显示所有资源,因为还有 “点击查看” 字样

这个页面需要一个类似于ID的东西,目前我们不知道。而且,我们不能保证是不是每次搜索都需要额外的跳转展开资源列表。所以,我们还是从前一个页面入手。

F12 检查元素,可以发现,资源列表的位置:

它位于 div[class="sublist"] 标签内的表格中,我们使用 BeautifulSoup 定位到这个表格:

html = BeautifulSoup(reponse.text, 'lxml')

sublist = html.select_one('div[class="sublist"]')

sublist = sublist.select('tr')

sublist 是 tr 标签的列表,它分别对应着图中的资源条目。观察 tr 标签的 class 属性,前五个 tr 标签都是 odd 或者 even,它们表示 tr 标签所在位置的奇偶性。第六个 tr 标签的 class 值为 msub,这似乎不同寻常。事实上,它表示的是 more subtitles。

查看 tr[class=“msub”] 这个标签我们可以发现它提供了一个链接指向了列举所有资源条目那个页面。所以我们的策略是:

如果结果页中没有 tr[class=“msub”] 标签,直接解析结果页的资源条目;

如果结果页中有 tr[class=“msub”] 标签,拿到它里面的URL,解析这个URL对应页面的条目。

解析资源条目的代码如下:

title = "小鬼当家2"

url = "http://www.zimuku.la/search?q={}".format(title)

response = get_with_ntries(url, session=sess

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值