python爬取b站番剧链接,Scrapy爬虫爬取B站视频标题及链接
研究了一下午,刚刚成功爬出了B站的视频数据以及超链接(虽然方法很笨)。但是还是非常有意思的,这里记录一下过程
程序用的scrapy,安装方法详见 https://www.jianshu.com/p/d2c8b1496949, 这里可以直接用的CMD创建scrapy项目,只需要输入 scrapy startproject 项目名 即可,会在当前目录下创建一个新文件夹,cd到该文件夹下后,输入scrapy genspider 爬虫名 目标网址来创建你的爬虫文件(如: scrapy genspider sample https://www.bilibili.com/v/douga)
创建爬虫项目
创建爬虫成功后就可以编辑了,打开的爬虫文件(此处为sample.py)可以看到
import scrapy
class SampleSpider(scrapy.Spider):
# def start_requests(self):
# yield Request("https://", headers = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"})
name = 'sample' #爬虫名称
allowed_domains = ['bilibili.com'] #爬取的范围
start_urls = ['https://www.bilibili.com/v/douga']#URL地址
def parse(self, response):
接下来要定义parse()函数,要用到Xpath选择器来提取网页内标签内容,这里用到Xpath helper可以提高效率https://blog.csdn.net/xiaobai_IT_learn/article/details/100977653(要打开chrome的开发者模式),或者手动F12筛选元素也可以。
以动画分区顶端推荐视频为例,在页面元素中可以看到它属于
点开这个div,发现他另分出了两个div:
继续往下挖,发现右侧的四个视频在
他们的class都为 groom-module
任意点开几个div,发现他们的视频标题以及超链接都出现在标签下的和属性
那么只要把这两个标签属性提取出来就可以了,回到爬虫文件,在parse()函数下输入
#抓取标题(title)
DanceTitle=response.xpath(
'.//div[@id="app"]/div[@class="bili-wrapper"]/div[@class="channel-m"]/div[@class="nominate-m clearfix report-wrap-module report-scroll-module"]/div/div/div/a/@title'
)
#抓取Url(href)
DanceURL=response.xpath(
'.//div[@id="app"]/div[@class="bili-wrapper"]/div[@class="channel-m"]/div[@class="nominate-m clearfix report-wrap-module report-scroll-module"]/div/div/div/a/@href'
)
提取元素路径的过程就不写了,很繁琐(反正我搞得很麻烦),多用.extract()查看当前提取的路径。
可以写到本地,也可以直接在CMD中打印出来。这里我把结果保存到名为 ‘B站结果’ 的txt文档(默认保存在项目文件夹中):
#创建一个字典
Title={}
with open('B站结果.txt', 'a')as file_result:
for div in DanceTitle:
Title['标题'] = div.extract()
file_result.write("{}\r\n".format(Title))
file_result.write("{}\r\n".format(DanceURL[DanceTitle.index(div)].extract()))
这里只用到一次循环,因为标题和超链接的数量是固定的。
.extract()用于切片(脱壳)从一个对象(此处的DanceTitle,DanceURL)中得到list
在CMD中输入
scrapy crawl sample
运行爬虫
捣鼓了一下午,浏览器标签开了一万个
虽然方法很笨但是最后运行成功的时候还是很开心的,以后也会继续研究爬虫,笨方法终究是不可取的。
python爬取b站番剧链接,Scrapy爬虫爬取B站视频标题及链接相关推荐
- python爬取B站番剧索引页面并保存文本和图片
该篇文章为"行路难=_="原创 期末的Python考试要写一个爬取网站信息的程序,我就选取了b站番剧索引页面作为目标网页(因为感觉番剧主页的信息太杂了.) 目标网页:https:/ ...
- python爬取b站追番信息_Scrapy实战B站番剧信息爬取
Part 0 安装 采用Anaconda版本的Python可以直接使用conda install -c scrapinghub scrapy进行安装,采用pip install Scrapy有的环境需 ...
- python爬b站番剧_Python爬取B站动漫番剧更新信息,附代码和讲解过程
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 目标:爬取b站番剧最近更新 输出格式:名字+播放量+简介 那么开始撸吧~ 用到的 ...
- datetime 索引_Python爬取B站番剧索引页面并保存文本和图片
期末的Python考试要写一个爬取网站信息的程序,我就选取了b站番剧索引页面作为目标网页(因为感觉番剧主页的信息太杂了.) 目标网页:https://www.bilibili.com/anime/in ...
- 使用Scrapy框架,爬取b站番剧信息。
使用Scrapy框架,爬取b站番剧信息. 感觉好久没写爬虫的,今天看了在b站浏览了一会儿,发现b站有很多东西可以爬取的,比如首页的排行榜,番剧感觉很容易找到数据来源的,所以就拿主页的番剧来练练手的. ...
- Python爬虫以及数据可视化分析(最新B站番剧排行榜数据)
本博客将会对B站番剧排行榜的数据进行信息爬取以及数据可视化分析,适应最新的B站网页结构 参考大佬:https://blog.csdn.net/Jacompol/article/details/1116 ...
- Python Scrapy 爬虫 - 爬取多级别的页面
Python Scrapy 爬虫 - 爬取多级别的页面 互联网中众多的 scrapy 教程模板,都是爬取 下一页 → \rightarrow →下一页形式的,很少有 父级 → \rightarrow ...
- 突破B站番剧港澳台地区限制
突破B站番剧港澳台地区限制 软件名称:Google空间 教程开始 首先要添加B站APP到软件里面 然后在软件里打开 11 找一下番 12 实测 转载于:https://www.cnblogs.com/ ...
- [爬虫] B站番剧信息爬取
申明:本文对爬取的数据仅做学习使用,不涉及任何商业活动,侵删 简述 本次爬取目标是: 番剧的基本信息(名字, 类型, 集数, 连载or完结, 链接等) 番剧的参数信息(播放量, 点赞, 投币, 追番人 ...
- 爬虫练习四:爬取b站番剧字幕
由于个人经常在空闲时间在b站看些小视频欢乐一下,这次就想到了爬取b站视频的弹幕. 这里就以番剧<我的妹妹不可能那么可爱>第一季为例,抓取这一番剧每一话对应的弹幕. 1. 分析页面 这部番剧 ...
最新文章
- ThreeJS的特效合成器和后期处理通道
- android 图片缩放算法,Android大图加载,缩放,滑动浏览--SubsamplingScaleImageView 源码分析大图加载...
- 「Python-Bug」matplotlib画图时报错Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
- 官网3.15课程一起来“打价”,找群内管理员还可以折上折
- mysql索引1908
- WINDOWSXP全面优化下
- C++ 不能重载的运算符
- iQOO Neo6现身安兔兔数据库:高导热稀土散热加入 跑分轻松破百万
- UI设计灵感|引人注目的弹窗设计参考
- vue 给checkbox 赋值_Vue动态生成el-checkbox点击无法赋值的解决方法
- php zitian虚拟主机配置_虚拟主机的发展
- 某城郊110kV降压变电站监控系统设计
- 手机QQ邮箱登录不上的解决办法
- 2021年Android面试心得,系列教学
- 西工大-计算机学院-2021复试-面试题目
- 电脑硬件:cpu后边数字及字母的意思
- 融合蓝牙与IoT 拓展Wi-Fi商业价值
- 7月5日绝地求生服务器维护,7月5日绝地求生更新到几点 7月5日绝地求生更新时间及内容介绍...
- 个人简历html网页代码(使用chatgpt完成web开发课的实验)
- 女孩,你为什么不沉住气奋斗
热门文章
- 二极管三极管电路原理和理解
- Linux驱动曝光AMD Vega20核心
- python清理数据
- idea java maven 打包,idea maven项目 基于idea自己打包方式 以及使用maven插件打包的三种方式...
- android apk参数错误,Android adb安装apk时出现报错Invalid APK file如何解决
- echarts 柱形图数据位置显示
- linux截图翻译,图片实时识别翻译大师
- win10系统问题记录(一):解决D/E盘根目录出现的msdia80.dll文件
- 微信小程序的简单使用(做一个阻抗计算器)
- linux网络设备驱动之dm9000驱动源码框架解析