- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一长串从各种来源获得的设备名称和制造商列表。我正在寻找一种编程方式(可能是 api)来确定哪些设备是手机,哪些是平板电脑,哪些是其他设备(例如计算机)。
我在网上搜索,我只能找到 WURFL API 非常好,但不能仅通过名称来确定设备。
一些设备示例(名称、制造商):
Galaxy Note 3, 三星
MID-97D,上网本
谢谢您的帮助!
编辑 :
所有的答案都非常好。如果我可以分割赏金,我会这样做。
我选择悬赏 GSMArena 的答案,因为它是最有用和最实用的答案。
谢谢大家!
最佳答案
在搜索和谷歌搜索了一段时间后,我发现了一个名为 GSMArena 的网站。 .现在该网站是手机和平板电脑的比较网站,您基本上可以看到平板电脑/手机的所有规范。查看搜索页面的源代码,我发现有一个包含所有搜索结果的类“maker”的div。
此外,一旦您单击手机/平板电脑链接,它会将您带到标题为“平板电脑名称 - 完整平板电脑规范”(如果是选项卡)和“手机名称 - 完整手机规范”(如果是手机)的页面。
如果它找到与搜索查询的直接匹配,它会直接重定向到规范页面,所以我添加了一个 If 测试来检查它是搜索页面还是规范页面。
我的程序获取“制造商”div 中的第一个链接(使用 BeautifulSoup ),然后转到该链接,拉出 html,然后获取页面的标题。
如果没有找到结果,我的程序将其标记为“其他”
代码:
import urllib.request
from bs4 import BeautifulSoup
searchlist = ["galaxy note","nexus 10","nexus 5","galaxy ace","moto g","galaxy tab 2", "MID-97D"]
for searchstr in searchlist:
other = False
searchstr = searchstr.replace(" ", "%20")
searchlink = "http://www.gsmarena.com/results.php3?sQuickSearch=yes&sName="+searchstr
string = urllib.request.urlopen(searchlink).read().decode("ISO-8859-1")
soup = BeautifulSoup(string,"lxml")
if soup.title.string == "Phone Finder results - GSMArena.com":
makerdiv = soup.find_all('div', attrs={'class': 'makers'})
links = makerdiv[0].find_all('a')
if len(links) != 0:
link = "http://www.gsmarena.com/" + links[0].attrs['href']
string = urllib.request.urlopen(link).read().decode("ISO-8859-1")
soup = BeautifulSoup(string,"lxml")
else:
other = True
if other == False:
title = soup.title.string
name = title.split("-")[0]
rest = title.split("-")[1]
taborphone = rest.split(" ")[2]
else:
name = searchstr
taborphone = "other"
print("Name:",name)
print("Type:",taborphone)
Name: Samsung Galaxy Note5
Type: phone
Name: Samsung Google Nexus 10 P8110
Type: tablet
Name: LG Nexus 5X
Type: phone
Name: Samsung Galaxy Ace 3
Type: phone
Name: Motorola Moto G (3rd gen)
Type: phone
Name: Samsung Galaxy Tab 2 7.0 P3100
Type: tablet
Name: MID-97D
Type: other
关于api - 按品牌名称获取设备类型(手机/平板电脑/其他),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33596629/
我正在尝试从 Linux 远程登录到 Windows PC,但显示错误“登录失败”。 这是我的 Python 脚本。我正在使用 pexpect 模块。我也尝试过使用 telnetlib 但同样的错误:
大多人在windows平台用的tomcat都是免安装版本的,很自然想到复制几份目录,就是在同一个电脑上跑多个tomcat服务了。实际上是不可以的。经过如下方法就可以实现统一台服务器(电脑)上运行多个
正负号是一个不常用的符号,很多小伙伴不知道怎么打出来,打出来确实有点麻烦,很多小伙伴不知道怎么弄,今天小编就给大家带来了轻松便捷的方法吧。 正负号怎么打出来 方法1、“&plu
在一项作业中,我被要求创建一个 [7] x [7] 矩阵,以及一个与计算机对战的井字棋游戏。玩家是 X,计算机是 O。[1][1] 是选择 1,[1][3] 是选择 2,[1][5] 是选择 3,[3
我想知道如何开发应用程序/服务器。我的安卓手机会在我说话时录制我的声音,并将其发送到 PC,然后使用 PC 的扬声器播放。 我想我需要一个在计算机上运行的媒体服务器来接收我的声音,然后使用手机上已有的
我正在开发一个使用蓝牙玩的安卓游戏应用程序。在搜索蓝牙设备时,结果包含移动设备和 mac pc/笔记本电脑。我只想在结果列表中列出移动设备。是否可以确定检测到的设备是否为移动设备? 最佳答案 当你有
在学习 Meteor 框架的过程中,我正在将 Yik Yak 移动应用程序重新创建为 Web 应用程序。但该应用程序是完全匿名的,没有用户帐户,但您仍然只能对帖子投赞成票或反对票一次。如何做到这一点?
我花了一些时间寻找解决方案。我已经使用 MacPorts 在我的 mac 上重新安装了 Vim 好几次。 vim --version 命令显示 +clipboard 和 +xterm_clipboar
我是一名优秀的程序员,十分优秀!