大家好,哔哩哔哩网站前端源码分享相信很多的网友都不是很明白,包括哔哩哔哩开源代码也是一样,不过没有关系,接下来就来为大家分享关于哔哩哔哩网站前端源码分享和哔哩哔哩开源代码的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
这篇文章是写用BeautifulSoup爬取bilibili用户信息的,之前写了一篇博客用Scrapy爬取bilibili用户信息,这篇博客只是换了一中方法去爬取库,但是使用的接口和思想都是一样的
由于在之前的文章中已经分析过了如何爬取信息,所以这次就不分析了,如果没有看过之前那篇文章的同学,请异步至用Scrapy爬取bilibili用户信息,里面详细的写了分析的过程,这次我们就直接看代码
User-Agent和代理
之前我们说了要想不被bilibili识别为爬虫,我们需要使用ip代理和更换User-Agent,我们这次使用的是requests库,方法和scrapy有所不同
User-Agent,我们首先将我们要用的User-Agent写入到一个文件中,然后我们读取这个文件中的所有User-Agent
User-Agent
代理,在requests中使用代理非常的方便,我们只需要将用到的所有代理写到一个集合中,然后在访问接口的时候传入进去就可以了,requests库会自动挑选的
代理
爬取
用BeautifulSoup爬取很简单
我们这里使用random.choice随机选择一个User-Agent,然后写好代理、headers和参数等
将需要的数据传递到post函数中,在每次请求之后随机延时1到3秒
分析数据
得到数据后我们要取得想要的数据,很简单
分析数据
写入数据
写入数据的时候要记得采用‘a+’的模式,不要用’w’,不然每次都会重写整个文件而不是追加
还要记得设置ensure_ascii
多线程
这里用的current.futures库,如果想了解更多的知识请看之前写过的一篇文章Python中的Multiprocess和Multithreading(二),我这里使用的是多线程,当然你不必学我,完全可以使用多进程
多线程
用submit函数创建多个线程,然后利用add_done_callback添加回调函数
数据
这是写入json文件的数据
本文章是由热衷python和前端原创发布,如需转载请注明出处
欢迎大家关注头条号:热衷python和前端
如果有需要源码的同学就留言或者私聊我吧
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
