我知道有些二次元肥仔就是喜欢看这些二次元东西,反正我是没看过,不知道你们怎么样呢?

今天就给大家分析一下他的视频列表页

首先呢,打开网页,借用开发者工具,检查分析,看一下网页源代码中有没有你想要的信息,有的话直接解析,没有的话点开网络,查看请求,根据关键字搜索,看一下请求返回的数据是什么样的。如果是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番剧相关内容相关推荐

  1. Python爬取bilibili番剧排行

    爬取bilibili番剧排行 import requests from bs4 import BeautifulSoup import bs4 import re def get_url(url):t ...

  2. python 爬取bilibili番剧排行榜

    import re import pandas import requests from bs4 import BeautifulSoup import matplotlib.pyplot as pl ...

  3. Python3 Request+Redis 爬取BILIBILI番剧列表

    该项目是结合Redis与Python爬虫爬取哔哩哔哩番剧索引中的所有番剧,目标网站链接如下: 番剧索引 - 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 前情提要 该项目需要提前下载并配置好Wi ...

  4. 爬取百度词语的相关内容

    需求: 根据HSK词汇表搜索相关词语,并爬取其中的拼音,释义.同义/近义/反义词 使用语言及编译器: python pycharm 目标网站: 百度汉语:https://hanyu.baidu.com ...

  5. Python番外篇:爬取腾讯新闻热点内容 并发送新闻提示电子邮件

    hello,大家好,我是wangzirui32,今天来教大家如何爬取爬取腾讯新闻热点内容,并发送新闻提示电子邮件,开始学习吧! 1. HTML解析 腾讯网的首页为https://www.qq.com, ...

  6. lxml xpath 爬取并正常显示中文内容

    在使用python爬虫提取中文网页的内容,为了能正确显示中文的内容,在转为字符串时一定要声明编码为utf-8,否则无法正常显示中文,而是显示原编码的字符,并没有正确转换.比如下面这个简单的爬取百度页面 ...

  7. 利用URL拼接爬取获取有道翻译内容

    利用URL拼接爬取获取有道翻译内容 代码: import requests import chardet import jsonif __name__ == '__main__':i = input( ...

  8. Python爬取De下载站相关代码

    Python爬取De下载站相关代码,因为没有设置代理,所以爬到800页左右就被干掉了,后续要加上 import urllib.request import bs4 import re import t ...

  9. Python爬虫04-xpath爬取豆瓣韩剧数据

    xpath爬取豆瓣韩剧数据 需求:爬取豆瓣韩剧的标题.评分.评论以及详情页地址. 1.导入模块 import requests from lxml import etree import csv 2. ...

最新文章

  1. vue css 应用变量_如何使用CSS Grid和CSS变量快速为应用创建原型
  2. 开启php支持xml,PHP对XML的支持
  3. BZOJ 1009: [HNOI2008]GT考试(kmp+dp+矩阵优化)
  4. 2019.4.1考试2019.4.2考试2019.4.4考试
  5. firefox浏览器中silverlight无法输入问题
  6. 安装OpenResty,实现分发层、应用层nginx+lua开发(附加问题:bad argument #2 to ‘set_keepalive‘ (number expected, got nil)
  7. 洛谷P2746 [USACO5.3]校园网Network of Schools
  8. 搭建串口收发与存储双口RAM简易应用系统
  9. 机器学习——人工神经网络之参数设置(BP算法)
  10. 简单的基准测试:不可变集合VS持久集合
  11. 最佳5本Java性能调优书籍–精选,必读
  12. mysql8 授权远程登录_MySQL8 远程授权访问
  13. LeetCode MySQL 1384. 按年度列出销售总额
  14. Windows Server 2019安装OpenSSH Server简明教程
  15. centos7在线yum安装mysql时官方镜像下载过慢的解决方案
  16. H - Going in Cycle!! (UVA - 11090)
  17. python程序设计题库-知到智慧树_Python程序设计基础_完整免费答案
  18. html5移动端webscoket实现在线聊天
  19. android入门-MMS-短彩信发送/接收流程【图】
  20. 人工智能人工神经网络,神经元网络 人工智能

热门文章

  1. 计算机通过镜子测试,人工智能通过镜子测试或许只是一个悖论
  2. 转换CLOB字段类型为VARCHAR2
  3. 《自然语言处理——冯志伟》学习记录(一)
  4. Alevel经济学:成本和收入之“利润”
  5. 《炬丰科技-半导体工艺》RCA清洗系统及清洗液自适应预测温度
  6. 上海海洋大学计算机考研资料汇总
  7. 部署yanagishima纪实
  8. [单片机][FUSB302][PD1.0][PD2.0] PD协议 Demo 例子 代码
  9. Brendan Gregg ----Linux Performance Tools NEWS
  10. 液晶弹性自由能计算_液晶材料预倾角与弹性常量的关系