使用scrapy来找出微博上没有加好友的熟人

背景介绍

我微博玩的晚,同学里面加上好友的也就40不到,为了把那些隐藏的好友揪出来。用scrapy写一个爬虫试一试。

思路

微博上面关注和粉丝都是公开的数据,可以用爬虫获取到的。而一个好友圈子里面的人,相互粉的比例也会比较大。这就是找到隐藏的好友的一个切入点。于是思路如下:

  1. 从自己的账号入手,先抓取自己关注的人和自己的粉丝(0级好友)
  2. 从第一批抓的数据开始,继续爬取0级好友的关注人和粉丝
  3. 在爬取的数据中分析他们的网络关系,找到可能是自己好友的人

遇到的问题

  1. 爬取的数据量需要控制,每级迭代,用户的数量都是爆炸式的增长,需要进行一定筛选
  2. 爬取的速度的限制,我的破电脑实测爬取速度大概在17page/min
  3. 小心大V账号的陷阱,在爬取人物关系的时候,一定要把大V的账号剔除掉!,粉丝页每页只能显示10人左右,有的大V一个人就百万粉丝,爬虫就卡在这一个号里面出不来了。

分析了这些,下面就开始搞了

具体实现

非常幸运地在网上别人搞好的一个爬取微博数据的框架,可以拿来改一改,这个框架是包含爬取微博内容,评论,用户信息,用户关系的。微博内容和评论我是不需要的,我就拿来改成只爬取用户信息和关系的就可以了。

我的主要改动如下:

  1. 删除爬取评论和微博的部分
  2. 将爬取的起始id变成从json文件读取(为了动态指定爬取范围)
  3. 新增加一个只爬取用户信息的爬虫,提高效率(原有爬虫专门爬取用户关系)

整个项目结构是:用scrapy作为爬虫的框架,有两个爬虫,weibo_spider.py用来爬取用户关系;weibo_userinfo用来爬取用户资料。爬取的数据存在mongodb中。另外有一个程序spider_control.py专门指定爬取的id的范围,将待爬取的id存在start_uids.json文件中,两个爬虫文件从这个json文件指定爬取的范围。

爬取用户关系的weibo_spider.py代码如下:

#!/usr/bin/env python
# # encoding: utf-8
import re
from lxml import etree
from scrapy import Spider
from scrapy.crawler import CrawlerProcess
from scrapy.selector import Selector
from scrapy.http import Request
from scrapy.utils.project import get_project_settings
from sina.items import TweetsItem, InformationItem, RelationshipsItem, CommentItem
from sina.spiders.utils import time_fix, extract_weibo_content, extract_comment_content
import time
import jsonclass WeiboSpider(Spider):name = "weibo_spider"base_url = "https://weibo.cn"def start_requests(self):with open('start_uids.json','r') as f:data = json.load(f)start_uids = data["start_uids"]for uid in start_uids:yield Request(url="https://weibo.cn/%s/info" % uid, callback=self.parse_information)def parse_information(self, response):""" 抓取个人信息 """information_item = InformationItem()information_item['crawl_time'] = int(time.time())selector = Selector(response)information_item['_id'] = re.findall('(\d+)/info', response.url)[0]text1 = ";".join(selector.xpath('body/div[@class="c"]//text()').extract())  # 获取标签里的所有text()nick_name = re.findall('昵称;?[::]?(.*?);', text1)gender = re.findall('性别;?[::]?(.*?);', text1)place = re.findall('地区;?[::]?(.*?);', text1)briefIntroduction = re.findall('简介;?[::]?(.*?);', text1)birthday = re.findall('生日;?[::]?(.*?);', text1)sex_orientation = re.findall('性取向;?[::]?(.*?);', text1)sentiment = re.findall('感情状况;?[::]?(.*?);', text1)vip_level = re.findall('会员等级;?[::]?(.*?);', text1)authentication = re.findall('认证;?[::]?(.*?);', text1)labels = re.findall('标签;?[::]?(.*?)更多>>', text1)if nick_name and nick_name[0]:information_item["nick_name"] = nick_name[0].replace(u"\xa0", "")if gender and gender[0]:information_item["gender"] = gender[0].replace(u"\xa0", "")if place and place[0]:place = place[0].replace(u"\xa0", "").split(" ")information_item["province"] = place[0]if len(place) > 1:information_item["city"] = place[1]if briefIntroduction and briefIntroduction[0]:information_item["brief_introduction"] = briefIntroduction[0].replace(u"\xa0", "")if birthday and birthday[0]:information_item['birthday'] = birthday[0]if sex_orientation and sex_orientation[0]:if sex_orientation[0].replace(u"\xa0", "") == gender[0]:information_item["sex_orientation"] = "同性恋"else:information_item["sex_orientation"] = "异性恋"if sentiment and sentiment[0]:information_item["sentiment"] = sentiment[0].replace(u"\xa0", "")if vip_level and vip_level[0]:information_item["vip_level"] = vip_level[0].replace(u"\xa0", "")if authentication and authentication[0]:information_item["authentication"] = authentication[0].replace(u"\xa0", "")if labels and labels[0]:information_item["labels"] = labels[0].replace(u"\xa0", ",").replace(';', '').strip(',')request_meta = response.metarequest_meta['item'] = information_itemyield Request(self.base_url + '/u/{}'.format(information_item['_id']),callback=self.parse_further_information,meta=request_meta, dont_filter=True, priority=1)def parse_further_information(self, response):text = response.textinformation_item = response.meta['item']tweets_num = re.findall('微博\[(\d+)\]', text)if tweets_num:information_item['tweets_num'] = int(tweets_num[0])follows_num = re.findall('关注\[(\d+)\]', text)if follows_num:information_item['follows_num'] = int(follows_num[0])fans_num = re.findall('粉丝\[(\d+)\]', text)if fans_num:information_item['fans_num'] = int(fans_num[0])request_meta = response.metarequest_meta['item'] = information_itemyield information_item# 获取关注列表yield Request(url=self.base_url + '/{}/follow?page=1'.format(information_item['_id']),callback=self.parse_follow,meta=request_meta,dont_filter=True)# 获取粉丝列表yield Request(url=self.base_url + '/{}/fans?page=1'.format(information_item['_id']),callback=self.parse_fans,meta=request_meta,dont_filter=True)def parse_follow(self, response):"""抓取关注列表"""# 如果是第1页,一次性获取后面的所有页if response.url.endswith('page=1'):all_page = re.search(r'/>&nbsp;1/(\d+)页</div>', response.text)if all_page:all_page = all_page.group(1)all_page = int(all_page)for page_num in range(2, all_page + 1):page_url = response.url.replace('page=1', 'page={}'.format(page_num))yield Request(page_url, self.parse_follow, dont_filter=True, meta=response.meta)selector = Selector(response)id_username_pair = re.findall('<a href="https://weibo.cn/u/(\d+)">(.{0,30})</a>',response.text)# urls = selector.xpath('//a[text()="关注他" or text()="关注她" or text()="取消关注"]/@href').extract()# uids = re.findall('uid=(\d+)', ";".join(urls), re.S)uids = [item[0] for item in id_username_pair]followed_names = [item[1] for item in id_username_pair]ID = re.findall('(\d+)/follow', response.url)[0]for uid, followed_name in zip(uids,followed_names):relationships_item = RelationshipsItem()relationships_item['crawl_time'] = int(time.time())relationships_item["fan_id"] = IDrelationships_item["followed_id"] = uidrelationships_item["_id"] = ID + '-' + uidrelationships_item['fan_name'] = response.meta['item']['nick_name']relationships_item['followed_name'] = followed_nameyield relationships_itemdef parse_fans(self, response):"""抓取粉丝列表"""# 如果是第1页,一次性获取后面的所有页if response.url.endswith('page=1'):all_page = re.search(r'/>&nbsp;1/(\d+)页</div>', response.text)if all_page:all_page = all_page.group(1)all_page = int(all_page)for page_num in range(2, all_page + 1):page_url = response.url.replace('page=1', 'page={}'.format(page_num))yield Request(page_url, self.parse_fans, dont_filter=True, meta=response.meta)selector = Selector(response)id_username_pair = re.findall('<a href="https://weibo.cn/u/(\d+)">(.{0,30})</a>', response.text)# urls = selector.xpath('//a[text()="关注他" or text()="关注她" or text()="取消关注"]/@href').extract()# uids = re.findall('uid=(\d+)', ";".join(urls), re.S)uids = [item[0] for item in id_username_pair]fan_names = [item[1] for item in id_username_pair]ID = re.findall('(\d+)/fans', response.url)[0]for uid, fan_name in zip(uids,fan_names):relationships_item = RelationshipsItem()relationships_item['crawl_time'] = int(time.time())relationships_item["fan_id"] = uidrelationships_item["followed_id"] = IDrelationships_item["_id"] = uid + '-' + IDrelationships_item['fan_name'] = fan_namerelationships_item['followed_name'] = response.meta['item']['nick_name']yield relationships_itemif __name__ == "__main__":process = CrawlerProcess(get_project_settings())process.crawl('weibo_spider')process.start()

只爬取用户资料的weibo_userinfo.py代码如下:

# -*- coding: utf-8 -*-
import re
from lxml import etree
from scrapy import Spider
from scrapy.crawler import CrawlerProcess
from scrapy.selector import Selector
from scrapy.http import Request
from scrapy.utils.project import get_project_settings
from sina.items import TweetsItem, InformationItem, RelationshipsItem, CommentItem
from sina.spiders.utils import time_fix, extract_weibo_content, extract_comment_content
import time
import jsonclass WeiboUserinfoSpider(Spider):name = "weibo_userinfo"base_url = "https://weibo.cn"def start_requests(self):with open('start_uids.json', 'r') as f:data = json.load(f)start_uids = data["start_uids"]# start_uids = [#     '6505979820',  # 我#     #'1699432410'  # 新华社# ]for uid in start_uids:yield Request(url="https://weibo.cn/%s/info" % uid, callback=self.parse_information)def parse_information(self, response):""" 抓取个人信息 """information_item = InformationItem()information_item['crawl_time'] = int(time.time())selector = Selector(response)information_item['_id'] = re.findall('(\d+)/info', response.url)[0]text1 = ";".join(selector.xpath('body/div[@class="c"]//text()').extract())  # 获取标签里的所有text()nick_name = re.findall('昵称;?[::]?(.*?);', text1)gender = re.findall('性别;?[::]?(.*?);', text1)place = re.findall('地区;?[::]?(.*?);', text1)briefIntroduction = re.findall('简介;?[::]?(.*?);', text1)birthday = re.findall('生日;?[::]?(.*?);', text1)sex_orientation = re.findall('性取向;?[::]?(.*?);', text1)sentiment = re.findall('感情状况;?[::]?(.*?);', text1)vip_level = re.findall('会员等级;?[::]?(.*?);', text1)authentication = re.findall('认证;?[::]?(.*?);', text1)labels = re.findall('标签;?[::]?(.*?)更多>>', text1)if nick_name and nick_name[0]:information_item["nick_name"] = nick_name[0].replace(u"\xa0", "")if gender and gender[0]:information_item["gender"] = gender[0].replace(u"\xa0", "")if place and place[0]:place = place[0].replace(u"\xa0", "").split(" ")information_item["province"] = place[0]if len(place) > 1:information_item["city"] = place[1]if briefIntroduction and briefIntroduction[0]:information_item["brief_introduction"] = briefIntroduction[0].replace(u"\xa0", "")if birthday and birthday[0]:information_item['birthday'] = birthday[0]if sex_orientation and sex_orientation[0]:if sex_orientation[0].replace(u"\xa0", "") == gender[0]:information_item["sex_orientation"] = "同性恋"else:information_item["sex_orientation"] = "异性恋"if sentiment and sentiment[0]:information_item["sentiment"] = sentiment[0].replace(u"\xa0", "")if vip_level and vip_level[0]:information_item["vip_level"] = vip_level[0].replace(u"\xa0", "")if authentication and authentication[0]:information_item["authentication"] = authentication[0].replace(u"\xa0", "")if labels and labels[0]:information_item["labels"] = labels[0].replace(u"\xa0", ",").replace(';', '').strip(',')request_meta = response.metarequest_meta['item'] = information_itemyield Request(self.base_url + '/u/{}'.format(information_item['_id']),callback=self.parse_further_information,meta=request_meta, dont_filter=True, priority=1)def parse_further_information(self, response):text = response.textinformation_item = response.meta['item']tweets_num = re.findall('微博\[(\d+)\]', text)if tweets_num:information_item['tweets_num'] = int(tweets_num[0])follows_num = re.findall('关注\[(\d+)\]', text)if follows_num:information_item['follows_num'] = int(follows_num[0])fans_num = re.findall('粉丝\[(\d+)\]', text)if fans_num:information_item['fans_num'] = int(fans_num[0])request_meta = response.metarequest_meta['item'] = information_itemyield information_itemif __name__ == "__main__":process = CrawlerProcess(get_project_settings())process.crawl('weibo_userinfo')process.start()

除此之外,另外用一个程序专门指定爬取的范围

import os
import json
import pymongoclass SpiderControl:def __init__(self, init_uid):self.init_uid = init_uidself.set_uid([self.init_uid])self.dbclient = pymongo.MongoClient(host='localhost', port=27017)self.db = self.dbclient['Sina']self.info_collection = self.db['Information']self.relation_collection = self.db['Relationships']self.label_collection = self.db['Label']def set_uid(self, uid_list):uid_data = {'start_uids': uid_list}with open('start_uids.json','w') as f:json.dump(uid_data, f)def add_filter(list1,list2):return list(set(list1+list2))if __name__ == '__main__':init_id = '6505979820'sc = SpiderControl(init_id)try:sc.label_collection.insert({'_id':init_id,'label':'center'})except:print('已有该数据')# 这里第一次运行weibo_spider,第一次爬取粉丝和关注info_filter = [init_id]  # 标记已经爬过的idrelation_filter = [init_id]  # 标记已经爬过的idcondition_fan0 = {'followed_id':init_id} # 主人公的粉丝condition_follow0 = {'fan_id':init_id} # 主人公的关注fan0_id = [r['fan_id'] for r in sc.relation_collection.find(condition_fan0)]follow0_id = [r['followed_id'] for r in sc.relation_collection.find(condition_follow0)]# 打标签for id in follow0_id:try:sc.label_collection.insert_one({'_id':id,'label':'follow0'})  # 没有就添加except:sc.label_collection.update_one({'_id':id},{'$set':{'label':'follow0'}})  # 有就更新for id in fan0_id:try:sc.label_collection.insert_one({'_id':id,'label':'fan0'})except:sc.label_collection.update_one({'_id':id},{'$set':{'label':'fan0'}})fans_follows0 = list(set(fan0_id) | set(follow0_id)) # 取关注和粉丝的并集# 运行爬虫weibo_userinfo获得粉丝和关注用户的信息info_filter = add_filter(info_filter, fans_follows0)condition_famous = {'fans_num':{'$gt':500}}  # 选取粉丝小于500的账号famous_id0 = [r['_id'] for r in sc.info_collection.find(condition_famous)]relation_filter = add_filter(relation_filter, famous_id0)uid_set = list(set(fans_follows0) - set(relation_filter))print('id数量{}'.format(len(uid_set)))sc.set_uid(uid_set)# 运行爬虫weibo_spider获得这些人的粉丝关注网络condition_fan1 = {'followed_id': {'$in':fans_follows0}}  # 一级好友的粉丝condition_follow1 = {'fan_id': {'$in':fans_follows0}}  # 一级好友的关注fan1_id = [r['fan_id'] for r in sc.relation_collection.find(condition_fan1)]follow1_id = [r['followed_id'] for r in sc.relation_collection.find(condition_follow1)]fan1_id = list(set(fan1_id)-set(fans_follows0))  # 去除0级好友follow1_id = list(set(follow1_id) - set(fans_follows0))  # 去除0级好友# 打标签for id in follow1_id:try:sc.label_collection.insert_one({'_id': id, 'label': 'follow1'})  # 没有就添加except:sc.label_collection.update_one({'_id': id}, {'$set': {'label': 'follow1'}})  # 有就更新for id in fan1_id:try:sc.label_collection.insert_one({'_id': id, 'label': 'fan1'})except:sc.label_collection.update_one({'_id': id}, {'$set': {'label': 'fan1'}})fans_follows1 = list(set(fan1_id) & set(follow1_id)) # 取关注和粉丝的交集uid_set = list(set(fans_follows1) - set(info_filter))print('id数量{}'.format(len(uid_set)))sc.set_uid(uid_set)# 运行spider_userinfoinfo_filter = add_filter(info_filter, fans_follows1)

运行情况

第一次爬取,筛选掉大V后(粉丝大于500)有60个账号。在这60个里面再运行一次,爬取人物关系,这60个号总共有3800左右的粉丝和4300左右的关注数,取并集大概6400个账号,先从这些账号里面分析一波

可视化使用pyecharts

先出一张图

在这里插入图片描述
??!!woc这密密麻麻的什么玩意,浏览器都要卡成狗了

赶紧缩小一波数据,在关注和粉丝里面取交集,把数据量缩小到800

在这里插入图片描述
这回就舒服多了,其中,不同颜色代表了不同的类别(我分的)。

不同的颜色分别对应了:

  • 我(红色)
  • 我的关注
  • 我的粉丝
  • 我的好友(我的关注+我的粉丝)的粉丝和关注
  • 大V

通过找到和我好友连接比较多的账号,就可以找到隐藏好友了

举个例子

在这里插入图片描述

这个选中的是qqd,很显然和我的好友有大量的关联,与这些泡泡相连的大概率就是我的同学,比如这位:

在这里插入图片描述
果然这样就发现了好多我的同学哈哈哈。

代码写的贼乱,反正能跑了(狗头保命),我放到GitHub上了:https://github.com/buaalzm/WeiboSpider/tree/relation_spider

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/251878.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

“仅三天可见” 的朋友圈有方法破解啦!

点击上方“逆锋起笔”&#xff0c;公众号回复 PDF 领取大佬们推荐的学习资料 之前微博上出现过一个热搜话题&#xff1a;超一亿人朋友圈仅三天可见。 微信创始人张小龙在年度演讲里说&#xff0c;这个开关&#xff0c;是微信里使用最多的。 很多网友大概都有过这样的经历&#…

she is so css什么意思,输入she is so什么意思 微信she is so什么梗

最近很多人都在微信玩she is so的小游戏&#xff0c;会出现很多不同的形容词很有趣&#xff0c;适合好友之间一起玩。而不少人也不明白输入she is so是什么意思&#xff1f;该怎么玩呢&#xff1f;下文具体介绍。 微信输入she is so是什么意思 在微信聊天对话框中输入she /he i…

Redis实现朋友圈,微博等Feed流功能,实现Feed流微服务(业务场景、实现思路和环境搭建)

文章目录 业务场景Feed流相关概念Feed流特征Feed流分类实现思路环境搭建数据库表结构新建Feeds功能微服务ms-feeds配置类 RedisTemplateConfigurationREST配置类 RestTemplateConfigurationFeeds 实体类FeedsVO 响应类 业务场景 在互联网领域&#xff0c;尤其现在的移动互联网…

html分享到微博,h5页面分享到微信、朋友圈、新浪微博、QQ空间、QQ好友组件

h5页面分享组件、支持分享到微信、朋友圈、新浪微博、QQ空间、QQ好友。 执行逻辑 - 微信客户端 手q qq浏览器 uc浏览器 其他浏览器 分享到微信 提示点击右上角分享 提示点击右上角分享 native分享 native分享 弹层提示 分享到朋友圈 提示点击右上角分享 提示点击右上角分享 nat…

微博2面:微信朋友圈是怎么实现的?

点击上方蓝字关注趣学程序&#xff01; 来源&#xff1a;r6d.cn/E8pb 差不多十年前&#xff0c;随着功能机的淘汰和智能机的普及&#xff0c;互联网开始进入移动互联网时代&#xff0c;最具代表性的产品就是微博、微信&#xff0c;以及后来的今日头条、快手等。这些移动化联网时…

微博朋友圈亿级Feed流如何轻松设计?

简介 Feed流是Feed 流&#xff0c;Feed的本意是饲料&#xff0c;Feed流的本意就是有人一直在往一个地方投递新鲜的饲料&#xff0c;如果需要饲料&#xff0c;只需要盯着投递点就可以了&#xff0c;这样就能源源不断获取到新鲜的饲料。 在信息学里面&#xff0c;Feed其实是一个…

h5端登录是什么意思_关于app、小程序和h5之间的区别

1.APP 运行环境——Android和IOS手机操作系统 系统权限—— 最多最全面&#xff0c;但有些属于隐私需要用户授权才能调用。&#xff08;安卓与IOS也有许多差异&#xff1a;Android类似于Windows&#xff0c;App几乎可读取本地所有文件&#xff1b;iOS端App无法读取本地除图片和…

python爬取微博非好友圈_Python爬虫之微博好友圈

数学建模已结束&#xff0c;刚开始的目标就是不熬夜&#xff0c;结果还是熬夜了(QAQ)&#xff0c;缓了一天就来写简书了&#xff0c;感觉很久没爬虫了&#xff0c;今天就爬下移动端的微博好友圈信息。 代码 import requests import json headers { Cookie:xxxxxxxx, User_Agen…

设计模式之~原型模式

定义&#xff1a;用原型实例指导创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象&#xff0c;而且不需知道任何创建的细节。 优点&#xff1a; 一般在初始化的信息不发生变化的情况下&#xff0c;克隆是最…

华安鑫创:创新举措推动新旧产业融合升级

华安鑫创控股&#xff08;北京&#xff09;股份有限公司&#xff08;以下简称“华安鑫创”、“公司”&#xff09;是一家汽车智能座舱电子综合服务商&#xff0c;主营业务为汽车中控和液晶仪表等座舱电子产品的核心显示器件定制选型、软件系统开发及配套器件的销售。华安鑫创自…

华安泰VIKOR“跨越者”解码服务器:深入系统全面应用

随着视频监控系统的高清化、智能化趋势&#xff0c;监控设备前端采集的数据量愈加庞大&#xff0c;这就必定需要一个强大的后端管理平台进行有效的储存和处理。VIKOR“跨越者”高清监控系统包涵了高清前端设备的同时&#xff0c;又有多种后端存储设备、管理平台、软硬件解码等设…

专精特新、高端领航 中交华安核心技术及产品介绍第1期:单侧型桥墩防护解决方案——SA级高强型低变形量护栏...

来源&#xff1a;中交华安 导读 1.大型车辆撞击桥墩可能引发重特大交通事故&#xff0c;造成严重事故后果和不良社会影响。 2.目前国内外鲜少有专门用于桥墩防护的安全设施&#xff0c;可用于路侧距离较近桥墩或中分带内薄壁墩的安全设施仍处于空白。 3.中交华安品牌SA级高强型…

凝聚安防正能量 华安泰坚定细分市场发展之路

中国安防行业经过三十多年的快速发展&#xff0c;目前已进入了转型期&#xff0c;这种转型既是自身发展使然&#xff0c;也有不得己的外因影响。今年&#xff0c;安防行业洗牌加速&#xff0c;更有传言四起&#xff0c;动摇军心。每一次重大的变革都必须经历一次痛苦的蜕变。中…

华安泰2014摄影作品征集:盛夏里的青春

2014年夏天&#xff0c;华安泰邀请您用镜头记录生活&#xff0c;以“盛夏里的生活”和“盛夏里的青春”为主题征集图片故事&#xff0c;优秀照片将在企业内刊《华安泰人》、公众微信“华安泰智能”和官网www.vikorcctv.com中展示。 征集主题&#xff1a; 1、盛夏里的生活 盛夏里…

mx250显卡天梯图_mx250显卡天梯图_2020年最新笔记本显卡天梯图,看看你的显卡排在哪!...

显卡天梯图就是显卡的性能排行榜&#xff0c;目前显卡主要有Nvidia(英伟达)和AMD(超微半导体)两大品牌。我们都知道&#xff0c;显卡性能决定了电脑的图像处理能力。对于喜欢玩游戏的电脑用户来说&#xff0c;处理器和显卡是用户最关心的电脑硬件&#xff0c;一块好的显卡对于游…

adreno性能天梯图_深度学习之GPU显卡性能天梯图

在深度学习的显卡市场&#xff0c;英伟达的地位还是暂时无人能够撼动的。专业卡暂不纳入考虑&#xff0c;毕竟性价比太低了。大家平时使用的还是老黄的游戏卡&#xff0c;性能排第一的就是Titan RTX了&#xff0c;具备24G大显存&#xff0c;然而售价也高达两万块。接下来就是大…

计算机显卡排名,显卡天梯图_显卡性能天梯图_2021笔记本显卡天梯图-中关村在线...

7612 影驰Geforce RTX 3090 HOF Extreme 限量版 排名 2领先 98.56%的对手 重要参数 核心频率:基础频率:1395MHz加速频率:1860MHz 显存类型:GDDR6X 流处理器:10496个 显存容量:24GB 详细参数 > 7466 七彩虹iGame GeForce RTX 3090 Neptune OC 排名 3领先 97.84%的对手 …

笔记本显卡天梯图2023 笔记本显卡性能天梯图2023年2月

2023最值得入手的笔记本选哪个版本好这些点很重要看过你就懂了http://www.adiannao.cn/dy 一、RTX 3080Ti笔记本显卡 1、将旗舰3080Ti显卡引入笔记本电脑&#xff0c;笔记本将搭载16GB GDDR6显存。 2、RTX 3080Ti笔记本电脑的起售价为2499美元。 3、满功耗的RTX 3080Ti可以达…

[转载]pAppLocale(微软AppLocale修改版,不会有乱码后遗症)+辅助配件

【转码】pAppLocale(微软AppLocale修改版&#xff0c;不会有乱码后遗症)辅助配件 这里仅就修改版及辅助配件进行介绍&#xff0c;对此软件没概念的烦请自行搜寻引擎查找&#xff01; pAppLocale(Microsoft AppLocale 修改版) ◎出处 http://www.csie.ntu.edu.tw/~piaip/ ◎下载…

转 Applocale:非Unicode程序界面乱码解决方法笔记

转 Applocale&#xff1a;非Unicode程序界面乱码解决方法笔记 2008年11月25日 星期二 下午 1:33 注&#xff1a; 为了不让 pAppLocale 消失 我也做了个下载备份 地址&#xff1a; http://www.brsbox.com/filebox/down/fc/1d30198f826cbb28eb110a0a8cfe5429 -------------------…