爬取bili番剧相关内容
我知道有些二次元肥仔就是喜欢看这些二次元东西,反正我是没看过,不知道你们怎么样呢?
今天就给大家分析一下他的视频列表页
首先呢,打开网页,借用开发者工具,检查分析,看一下网页源代码中有没有你想要的信息,有的话直接解析,没有的话点开网络,查看请求,根据关键字搜索,看一下请求返回的数据是什么样的。如果是json的话,直接向这个请求的url发起请求。
然后,将请求来的数据用json.loads()方法转成json数据
再根据key取出你要获取的数据。
最后将数据保存下来。
我获取的是前10页的数据,数据不多,仅供参考
在此给各位提个醒,爬虫需谨慎,最好挂个代理,以防被封
代码如下:
import csv
import json
import timeimport requestsclass Bili(object):def __init__(self):self.retry = 0self.page = 0self.html = ''self.url = 'https://api.bilibili.com/x/web-interface/newlist?pn=1&ps=20&_=1546868687676&rid=33&type=0&jsonp=jsonp'self.headers = {'Cookie': '你的cookie','Host': 'api.bilibili.com','Referer': 'https://www.bilibili.com/v/anime/serial/?spm_id_from=333.334.b_7072696d6172795f6d656e75.8','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36','Connection': 'keep-alive'}self.save_header()def save_header(self):"""保存到csv中的表头"""headers = [['番剧名', '图片链接', '播放量', '弹幕量', '投稿时间']]with open('bili.csv', 'w', encoding='utf-8', newline='') as f:writer = csv.writer(f)writer.writerows(headers)def save_csv(self, data_list):"""将数据保存到csv中"""with open('bili.csv', 'a', encoding='utf-8', newline='') as f:writer = csv.writer(f)writer.writerows(data_list)def get_html(self, url):"""获取网页源码"""try:self.retry += 1response = requests.get(url, headers=self.headers)self.html = response.text# print(self.html)except Exception as e:if self.retry > 3:print(f'请求失败,正在尝试第{self.retry}次重新请求')time.sleep(3)returnself.get_html(self.url)else:self.retry = 0def get_data(self):"""获取数据"""data_list = []result = json.loads(self.html)datas = result["data"]["archives"]for d in datas:data = []data.append(d["title"])data.append(d["pic"])data.append(d["stat"]["view"])data.append(d["stat"]["danmaku"])# 创建时间time_local = time.localtime(d["ctime"])ctime = time.strftime("%Y-%m-%d %H:%M:%S", time_local)data.append(ctime)data_list.append(data)self.save_csv(data_list)def run(self):for x in range(1, 11):time.sleep(2)print(f'正在爬取第{x}页数据,请稍后')url = f'https://api.bilibili.com/x/web-interface/newlist?pn={x}&ps=20&_=1546868687676&rid=33&type=0&jsonp=jsonp'self.get_html(url)self.get_data()if __name__ == '__main__':bili = Bili()bili.run()
注:本文为原创,未经本人授权,禁止转载,交流可加群:872404578
爬取bili番剧相关内容相关推荐
- Python爬取bilibili番剧排行
爬取bilibili番剧排行 import requests from bs4 import BeautifulSoup import bs4 import re def get_url(url):t ...
- python 爬取bilibili番剧排行榜
import re import pandas import requests from bs4 import BeautifulSoup import matplotlib.pyplot as pl ...
- Python3 Request+Redis 爬取BILIBILI番剧列表
该项目是结合Redis与Python爬虫爬取哔哩哔哩番剧索引中的所有番剧,目标网站链接如下: 番剧索引 - 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 前情提要 该项目需要提前下载并配置好Wi ...
- 爬取百度词语的相关内容
需求: 根据HSK词汇表搜索相关词语,并爬取其中的拼音,释义.同义/近义/反义词 使用语言及编译器: python pycharm 目标网站: 百度汉语:https://hanyu.baidu.com ...
- Python番外篇:爬取腾讯新闻热点内容 并发送新闻提示电子邮件
hello,大家好,我是wangzirui32,今天来教大家如何爬取爬取腾讯新闻热点内容,并发送新闻提示电子邮件,开始学习吧! 1. HTML解析 腾讯网的首页为https://www.qq.com, ...
- lxml xpath 爬取并正常显示中文内容
在使用python爬虫提取中文网页的内容,为了能正确显示中文的内容,在转为字符串时一定要声明编码为utf-8,否则无法正常显示中文,而是显示原编码的字符,并没有正确转换.比如下面这个简单的爬取百度页面 ...
- 利用URL拼接爬取获取有道翻译内容
利用URL拼接爬取获取有道翻译内容 代码: import requests import chardet import jsonif __name__ == '__main__':i = input( ...
- Python爬取De下载站相关代码
Python爬取De下载站相关代码,因为没有设置代理,所以爬到800页左右就被干掉了,后续要加上 import urllib.request import bs4 import re import t ...
- Python爬虫04-xpath爬取豆瓣韩剧数据
xpath爬取豆瓣韩剧数据 需求:爬取豆瓣韩剧的标题.评分.评论以及详情页地址. 1.导入模块 import requests from lxml import etree import csv 2. ...
最新文章
- vue css 应用变量_如何使用CSS Grid和CSS变量快速为应用创建原型
- 开启php支持xml,PHP对XML的支持
- BZOJ 1009: [HNOI2008]GT考试(kmp+dp+矩阵优化)
- 2019.4.1考试2019.4.2考试2019.4.4考试
- firefox浏览器中silverlight无法输入问题
- 安装OpenResty,实现分发层、应用层nginx+lua开发(附加问题:bad argument #2 to ‘set_keepalive‘ (number expected, got nil)
- 洛谷P2746 [USACO5.3]校园网Network of Schools
- 搭建串口收发与存储双口RAM简易应用系统
- 机器学习——人工神经网络之参数设置(BP算法)
- 简单的基准测试:不可变集合VS持久集合
- 最佳5本Java性能调优书籍–精选,必读
- mysql8 授权远程登录_MySQL8 远程授权访问
- LeetCode MySQL 1384. 按年度列出销售总额
- Windows Server 2019安装OpenSSH Server简明教程
- centos7在线yum安装mysql时官方镜像下载过慢的解决方案
- H - Going in Cycle!! (UVA - 11090)
- python程序设计题库-知到智慧树_Python程序设计基础_完整免费答案
- html5移动端webscoket实现在线聊天
- android入门-MMS-短彩信发送/接收流程【图】
- 人工智能人工神经网络,神经元网络 人工智能
热门文章
- 计算机通过镜子测试,人工智能通过镜子测试或许只是一个悖论
- 转换CLOB字段类型为VARCHAR2
- 《自然语言处理——冯志伟》学习记录(一)
- Alevel经济学:成本和收入之“利润”
- 《炬丰科技-半导体工艺》RCA清洗系统及清洗液自适应预测温度
- 上海海洋大学计算机考研资料汇总
- 部署yanagishima纪实
- [单片机][FUSB302][PD1.0][PD2.0] PD协议 Demo 例子 代码
- Brendan Gregg ----Linux Performance Tools NEWS
- 液晶弹性自由能计算_液晶材料预倾角与弹性常量的关系