python - Alexa 网站排名 API

标签 python amazon-web-services amazon

今天我在 Alexa API 上工作,使用这段代码获得网站的流行度排名:

import urllib.request, sys, re

site = 'https://stackoverflow.com/questions/'
xml = urllib.request.urlopen('http://data.alexa.com/data?cli=10&dat=s&url=%s'%site).read()
try: rank = int(re.search(r'<POPULARITY[^>]*TEXT="(\d+)"', xml).groups()[0])
except: rank = -1
print('Your rank for %s is %d!\n' % (site, rank))

它工作得很好,但突然停止了!,我手动检查了 API 链接:

http://data.alexa.com/data?cli=10&dat=s&url=https://stackoverflow.com/questions/

它只返回一个单词“Okay”而不是一个 XML 字符串..有什么问题?!

最佳答案

这可能就是你要找的

from bs4 import BeautifulSoup
import urllib.request
url='wikipedia.com'
rank_str =BeautifulSoup(urllib.request.urlopen("https://www.alexa.com/minisiteinfo/" +url),'html.parser').table.a.get_text()
rank_int=int(rank_str.replace(',',''))
print(rank_int)

关于python - Alexa 网站排名 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50279057/

相关文章:

python - 如何获得与 Matlab 的 'special' (mldivide) 运算符使用 numpy/scipy 返回的欠定线性系统相同的 `A\b` 解?

python - Elasticsearch无法正确解析小时数

python - 重试请求

powershell - 如何将特定类型的所有文件上传到 S3 Bucket?

api - 如何以编程方式获取电影的DVD发行日期?

amazon-s3 - 亚马逊 s3 上的 zcat

python - 无法将 NumPy 数组转换为张量(不支持的对象类型 numpy.ndarray)- 已经将数据转换为 numpy 数组

amazon-web-services - 如何监控 ECS 任务循环?

php - 使用 PHP 解析亚马逊 MWS 产品 API XML

objective-c - iOS 中的亚马逊产品广告 API 签名