周四,对项目进行一个小结。
当我们爬到一定程度时,会发现返回错误。
这就要考虑一个问题了,程序的运行速度是很快的,如果我们利用一个爬虫程序在网站爬取东西,一个固定IP的访问频率就会很高,这不符合人为操作的标准,因为人操作不可能在几ms内,进行如此频繁的访问。所以一些网站会设置一个IP访问频率的阈值,如果一个IP访问频率超过这个阈值,说明这个不是人在访问,而是一个爬虫程序。
我的解决办法是弄一个代理ip池
如何建立一个爬虫代理ip池 :
1、找到一个免费的ip代理网站(我这里用的是https://www.kuaidaili.com/free/)
2、爬取ip
3、检测ip可用性,移除不可用ip
4、随机取ip使用
新建ip.py文件。
使用requests和BeautifulSoup爬取网站的ip。
对于项目的整体架构,暂时是这个思路:
1.首先可以从一位知乎用户开始,先爬取他的关注列表的用户url_token
2.递归爬取他关注列表用户的关注列表,并存储在文本里
3.根据文本里的用户url_token一一爬取用户信息
4.写入数据库
5.搞一个代理ip池
继续加油!