爬虫入门(7)——bilibili的用户信息的爬取

本文介绍了如何使用JSONP协议爬取Bilibili的用户信息,包括理解JSONP的工作原理,分析网站数据,构建请求会话,处理GET请求,从响应中提取所需数据,并将其存储到数据库。同时,还涵盖了如何获取并保存用户的头像图片。
摘要由CSDN通过智能技术生成

1.jsonp

JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。

jsonp是一种跨域通信的手段,它的原理其实很简单:

  • 首先是利用script标签的src属性来实现跨域
  • 通过将前端方法作为参数传递到服务器端,然后由服务器端注入参数之后再返回,实现服务器端向客户端通信
  • 由于使用script标签的src属性,因此只支持get方法

ajax 的核心是通过 XmlHttpRequest 获取非本页内容,而 jsonp 的核心则是动态添加

2.网站的分析

我们需要解析的是jsonp的三个链接,里面的response有我们需要的数据,和拉钩网差不多,拉钩网是ajax的。

在这里插入图片描述

根据request headers构建session,根据query string parameter传递参数,根据general的url获得数据,获得数据的方法(post,get)

剩下的就是将获得的数据进行解析,保存(数据库或是excel)

3.数据库的使用

数据库的命令:

C:\Windows\system32>mysql -uroot -p

> create database bilibili;
> show databases;
> use bilibili;

use bilibili;

DROP TABLE IF EXISTS bilibili_user_info;
create table bilibili_user_info (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
mid int(20) unsigned NOT NULL,
name_ varchar(45) NOT NULL,
sex varchar(45) NOT NULL,
rank_ varchar(45) NOT NULL,
face varchar(200) NOT NULL,
regtime varchar(45) NOT NULL,
birthday varchar(45) NOT NULL,
sign varchar(300) NOT NULL,
level_ varchar(45) NOT NULL,
OfficialVerifyType varchar(45) NOT NULL,
OfficialVerifyDesc varchar(100) NOT NULL,
vipType varchar(45) NOT NULL,
vipStatus varchar(45) NOT NULL,
coins int(20) unsigned NOT NULL,
following_ int(20) unsigned NOT NULL,
fans int(20) unsigned NOT NULL,
archiveview int(20</
### 回答1: 您想了解如何使用爬虫程序爬取B站(Bilibili)上的视频或其他数据吗?这是一个涉及到网站爬虫技术的问题,需要注意一些法律和道德方面的问题。我建议您在使用爬虫程序之前,先了解一下相关的法律法规和网站的使用协议。同时,为了避免对网站造成不必要的负担,也请您谨慎使用爬虫程序。如果您有具体的问题或需要使用爬虫程序来获取数据,可以告诉我,我会尽力帮助您。 ### 回答2: 爬虫是一种自动化抓取网页内容的程序,可以用于获取互联网上的各种信息。对于Bilibili这样的视频分享网站,如果想要获取其中的数据,也可以通过编写爬虫程序来实现。 首先,我们需要明确爬取的目标。在爬取Bilibili时,可以选择抓取视频、弹幕、评论、用户信息等内容。为了实现爬虫,我们首先需要使用Python编程语言,并安装相关的第三方库,如Requests、BeautifulSoup、Selenium等。 其次,我们需要了解Bilibili的网页结构。使用浏览器开发者工具可以帮助我们分析网页的HTML和CSS代码,从而确定目标数据所在的位置和规律。 在编写爬虫代码时,我们可以使用Requests库发送HTTP请求,获取Bilibili网页的源代码。然后,可以使用BeautifulSoup或正则表达式等方法解析源代码,提取出我们需要的数据。 例如,如果想要获取Bilibili热门视频的信息,可以发送一个GET请求到热门视频的网址,然后使用BeautifulSoup解析HTML源代码,提取出视频的标题、链接、播放量等信息。 对于需要模拟用户登录的情况,可以使用Selenium库来实现自动化操作。通过模拟用户登录,可以获取到更多的数据,如已登录用户的关注列表、观看历史等。 在编写爬虫程序时,需要遵守相关的法律法规和网站的规则,不得用于非法用途,也不得对网站造成过大的负荷。 总之,通过编写爬虫程序,我们可以有效地获取Bilibili网站上的各种数据,为后续的数据分析、挖掘和应用提供支持。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值