B站2020年每周必看热门视频数据盘点(数据分析)

1.数据抓取

数据集的获取是我们进行数据分析的第一步。现在获取数据的主要途径一般为:现成数据;自己写爬虫去爬取数据;使用现有的爬虫工具爬取所需内容,保存到数据库,或以文件的形式保存到本地。
博主用的是用自己编写的爬虫代码获得数据。

爬虫的设计思路

1.首先确定需要爬取网页URL地址
2.通过HTTP/HTTPS协议来获取相应的HTML页面
3.提取HTML页面里有用的数据
a.如果是需要的数据就保存起来
b.如果是页面里的其他URL,那就继续执行第二步。

爬虫基本流程

发起请求
通过HTTP库向目标站点发起请求,就是发送一个Request,请求可以包含额外的header等信息,等待服务器的响应
获取响应内容
如果服务器正常响应,会得到一个Reponse,Reponse的内容便是所要获取的页面内容,类型可能有HTML,json字符串,二进制数据(如图片视频)等类型。
解析内容
得到的内容可能是HTML,可以用正则表达式,网页解析库进行解析,可能是json,可以直接转为JSON解析对象解析,可能是二进制数据,可以做保存或者进一步处理。
保存数据
保存的形式多种多样,可以保存成文本,也可以保存到数据库,或者保存特定格式文件

反爬虫机制与对策

1 通过分析用户请求的Headers信息进行反爬虫。网站中应用的最多
2通过验证用户行为进行反爬虫,不如通过判断同一个ip在短时间内是否频繁访问对应网站等进行分析。
3通过动态页面增加爬取的难度,达到反爬虫目的。
对策
1 在爬虫中构造这些用户请求的headers信息,以此将爬虫伪装成浏览器
2 使用代理服务器并经常切换代理服务器方式,一般就能够攻克限制。
3.利用一些软件,比如selenium+phantomJS就可以攻克
反爬虫的手段 :user-agent、代理、验证码、动态数据加载、加密数据

数据的选择与处理

1 网页文本 如HTML文档 json格式文本
2.图片 获取到的是二进制文件保存为图片格式
3.视频 获取的二进制文件保存为视频格式即可
4.其他 只要能请求到的,都能获取
解析方式
1 直接处理
2 json解析
3 正则表达式
4 BeautifulSoup
5 PyQuery
6 XPath

2.数据清洗

数据得到手,我们就需要对我们爬取的数据进行清洗工作,为之后的数据分析做铺垫,如果清洗的不到位势必会对之后的数据分析造成影响。
下文将从数据格式统一、空值处理。

格式统一

去掉数据的空格中
在用爬虫进行数据爬取时用strip()对爬取的字符串进行处理
将中文数据转换为阿拉伯数字
例如1.7万变成17000,代码如下

	def get_int(s):
	if s[-1]=="万":
		s=s[0:-1]
		s=int(float(s)*10000)
	else:
		s=int(s)
	return s

远行结果如下

if __name__ == '__main__':
	s="1.2万"
	price = get_int(s)
	print(price)#12000

空值处理

用爬虫对数据爬取的时候,若爬取的值不存在会报错,用异常处理语句try{}except:pass(try为爬取视频信息的代码),跳过不存在的视频信息数据。

try:
			html=requests.get(Link).text
			doc=BeautifulSoup(html);
			List=doc.find('div',{
   'class':'ops'}).findAll('span'
  • 49
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 55
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值