Python如何爬取半次元COS图
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍Python如何爬取半次元COS图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站 https:
千家信息网最后更新 2025年02月02日Python如何爬取半次元COS图
这篇文章主要介绍Python如何爬取半次元COS图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站 https://bcy.net/
打开之后,发现也没有什么有意思的内容,职业的敏感让我瞬间联想到了 cosplay
,这种网站必然会有这个的存在啊,于是乎,我准备好我的大爬虫了。
把上面的链接打开之后,被我发现了吧,就知道我的第八感不错滴。接下来就是找入口,一定要找到图片链接的入口才可以做下面的操作
这个页面不断往下拖拽,页面会一直加载,当时当你拖拽一会,就停下来了,就是这个时机
发现入口,在我实际的操作中,其实还发现了很多其他的入口,这个就不一一的解释了,赶紧上车,进入 view more
之后,发现了页面依旧是一个下拉刷新的布局方式,专业术语 瀑布流
。
半次元COS图爬取-python爬虫第一步
打开开发者工具,切换到network
之后,发现 很多xhr
请求,发现这个,就代表这个网站很容易爬取了
提取待爬取的链接,分析规律
https://bcy.net/circle/timeline/loadtag?since=0&grid_type=timeline&tag_id=1482&sort=hothttps://bcy.net/circle/timeline/loadtag?since=26499.779&grid_type=timeline&tag_id=1482&sort=hothttps://bcy.net/circle/timeline/loadtag?since=26497.945&grid_type=timeline&tag_id=1482&sort=hot
发现只有一个参数在变,而且这变化好像没有任何规律可以寻找,没事,看数据,你就可以发现其中的奥妙了
这个网站的原理很简单,就是通过不断获取每次数据的最后一条的since
然后获取接下来的数据,那么我们按照它的规律实现代码就可以了,不要多线程了,这种规律是没有办法进行实操的。
这次的数据我把它存储到mongodb
里面,因为没有办法一次全部获取到,所以可能需要下次在继续使用
if __name__ == '__main__': ### mongodb 的一些基本操作 DATABASE_IP = '127.0.0.1' DATABASE_PORT = 27017 DATABASE_NAME = 'sun' start_url = "https://bcy.net/circle/timeline/loadtag?since={}&grid_type=timeline&tag_id=399&sort=recent" client = MongoClient(DATABASE_IP, DATABASE_PORT) db = client.sun db.authenticate("dba", "dba") collection = db.bcy # 准备插入数据 #####################################3333 get_data(start_url,collection)Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
获取网页数据这个地方,由我们前面的经验就变得很简单了
## 半次元COS图爬取-获取数据函数 def get_data(start_url,collection): since = 0 while 1: try: with requests.Session() as s: response = s.get(start_url.format(str(since)),headers=headers,timeout=3) res_data = response.json() if res_data["status"] == 1: data = res_data["data"] # 获取Data数组 time.sleep(0.5) ## 数据处理 since = data[-1]["since"] # 获取20条数据的最后一条json数据中的since ret = json_handle(data) # 代码实现在下面 try: print(ret) collection.insert_many(ret) # 批量出入数据库 print("上述数据插入成功!!!!!!!!") except Exception as e: print("插入失败") print(ret) ## except Exception as e: print("!",end="异常,请注意") print(e,end=" ") else: print("循环完毕")
网页解析代码
# 对JSON数据进行处理def json_handle(data): # 提取关键数据 list_infos = [] for item in data: item = item["item_detail"] try: avatar = item["avatar"] # 用户头像 item_id = item["item_id"] # 图片详情页面 like_count = item["like_count"] # 喜欢数目 pic_num = item["pic_num"] if "pic_num" in item else 0 # 图片总数 reply_count =item["reply_count"] share_count =item["share_count"] uid = item["uid"] plain = item["plain"] uname = item["uname"] list_infos.append({"avatar":avatar, "item_id":item_id, "like_count":like_count, "pic_num":pic_num, "reply_count":reply_count, "share_count":share_count, "uid":uid, "plain":plain, "uname":uname}) except Exception as e: print(e) continue return list_infos
到现在就实现了,代码跑起来
以上是"Python如何爬取半次元COS图"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
数据
网站
代码
规律
链接
页面
入口
内容
图片
就是
接下来
不断
办法
爬虫
篇文章
网页
面的
准备
处理
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
东莞旅游软件开发公司
网络安全简笔画步骤
国家网络安全重点公司
数据库 数据库安全性管理
广州商城软件开发电话
河南科技学院网络安全等级保护
互联网软件开发专业考研要考哪些
创建数据库使用的工具是什么
网络安全要当心试讲
传奇服务器被攻击
金融基本数据库实验心得体会
网络安全法 案例题
网络安全需要学什么书
一个号能不能进两个服务器
郑州专业软件开发定制费用
阿里云服务器安全防护可靠吗
台州安全通服务器
工信部软件开发师考试多少钱
为什么服务器信号不好
以网络安全审查为盾牌守护
医院his系统用什么数据库
北京三鑫互联网科技有限
松江区网络营销软件开发问答知识
青浦区软件开发排行
天龙八部雁翎枪服务器
网络安全是连续过程吗
直通车竞价软件开发
数据库中产生的脏数据
theisle生态服务器推荐
网络技术备付金