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

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

首先呢,打开网页,借用开发者工具,检查分析,看一下网页源代码中有没有你想要的信息,有的话直接解析,没有的话点开网络,查看请求,根据关键字搜索,看一下请求返回的数据是什么样的。如果是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. CS131专题-6:图像特征(Blob检测、LoG算子、Harris-Laplacian)
  2. 3.分支结构与循环结构
  3. 皮一皮:别人都那么努力,你还有什么理由不努力...
  4. 新增表单控件和表单属性
  5. java空间租用_java影片租赁平台
  6. 图文并茂重新认识下递归
  7. 从中台、数仓与元数据不为人知的3个角度,看数据管理的生与死
  8. selenium的运行时异常
  9. Node组件——Express简介
  10. js将数字转为千分位/清除千分位
  11. python gif_Python-字符版gif图
  12. Modbus RTU CRC校验码计算方法
  13. 分享几个微信小程序的视频教程
  14. cml sml区别_【投资组合理论】CAL、CML、SML的区别和联系
  15. java 文件图标_如何用java程序修改文件夹默认图标,麻烦了
  16. 大数据与人工智能论文
  17. 你不知道的 Blob
  18. 二层交换、三层交换和路由的原理及区别
  19. 服务器为什么找不到抢先服,王者荣耀:抢先服新版本上线,新增多种内容,唯独没有李信消息!...
  20. 常见系统问题分析方法

热门文章

  1. 分门别类刷leetcode——高级数据结构(字典树,前缀树,trie树,并查集,线段树)
  2. 谁偷了我的奶酪(上)
  3. dz plugin.php,解决dz论坛提示“插件不存在或已关闭”
  4. 统计员工信息c语言设计,工资信息管理系统C语言设计
  5. 分布式游戏服务器通用架构的设计
  6. 用AI技术分析情商 川普和克林顿谁更胜一筹?
  7. 流氓软件插件中介商自述黑色淘金路(转)
  8. 大学生电子设计大赛(内容有点多,细细看看,应该会有收获)
  9. 联发科MT5592数字电视DTV芯片处理器参数介绍
  10. 晶晨905 2G+16G 与 1G+8G的内存占用对比