- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如果您将 google 提醒创建为 rss 提要(不会自动发送到您的电子邮件地址),它包含如下链接:https://www.google.com/url?rct=j&sa=t&url=http://www.statesmanjournal.com/story/opinion/readers/2014/10/13/gmo-labels-encourage-people-make-choices/17171289/&ct=ga&cd=CAIyGjkyZjE1NGUzMGIwZjRkNGQ6Y29tOmVuOlVT&usg=AFQjCNHrCLmbml7baTXaqySagcuKHp-KHA .
这个链接显然是一个重定向(只要尝试一下,你就会在这里结束:http://www.statesmanjournal.com/story/opinion/readers/2014/10/13/gmo-labels-encourage-people-make-choices/17171289/),但我无法用 Python 获得这个最终 url(除非删除 url 的开头,这是非常难看的).
到目前为止,我已经尝试使用包 urllib2、httplib2 和请求:
有人遇到过这个问题吗?谢谢!
最佳答案
Google 不会为您提供 HTTP 重定向;返回 200 OK 响应,而不是 30x 重定向:
>>> import requests
>>> url = 'https://www.google.com/url?rct=j&sa=t&url=http://www.statesmanjournal.com/story/opinion/readers/2014/10/13/gmo-labels-encourage-people-make-choices/17171289/&ct=ga&cd=CAIyGjkyZjE1NGUzMGIwZjRkNGQ6Y29tOmVuOlVT&usg=AFQjCNHrCLmbml7baTXaqySagcuKHp-KHA'
>>> response = requests.get(url)
>>> response.url
u'https://www.google.com/url?rct=j&sa=t&url=http://www.statesmanjournal.com/story/opinion/readers/2014/10/13/gmo-labels-encourage-people-make-choices/17171289/&ct=ga&cd=CAIyGjkyZjE1NGUzMGIwZjRkNGQ6Y29tOmVuOlVT&usg=AFQjCNHrCLmbml7baTXaqySagcuKHp-KHA'
>>> response.text
u'<script>window.googleJavaScriptRedirect=1</script><script>var m={navigateTo:function(b,a,d){if(b!=a&&b.google){if(b.google.r){b.google.r=0;b.location.href=d;a.location.replace("about:blank");}}else{a.location.replace(d);}}};m.navigateTo(window.parent,window,"http://www.statesmanjournal.com/story/opinion/readers/2014/10/13/gmo-labels-encourage-people-make-choices/17171289/");\n</script><noscript><META http-equiv="refresh" content="0;URL=\'http://www.statesmanjournal.com/story/opinion/readers/2014/10/13/gmo-labels-encourage-people-make-choices/17171289/\'"></noscript>'
响应是一段 HTML 和 JavaScript,您的浏览器会将其解释为加载新的 URL。您必须解析该响应以提取目标。
字符串拆分可以实现这一点:
>>> response.text.partition("URL='")[-1].rpartition("'\"")[0]
u'http://www.statesmanjournal.com/story/opinion/readers/2014/10/13/gmo-labels-encourage-people-make-choices/17171289/'
如果我们假设正文中的 URL
参数只是查询字符串中 url
参数的直接反射(reflect),那么您也可以从那里提取它,我们甚至不必要求 Google 执行重定向:
try:
from urllib.parse import parse_qs, urlsplit
except ImportError:
# Python 2
from urlparse import parse_qs, urlsplit
target = parse_qs(urlsplit(url).query)['url'][0]
关于Python - 从 Google Alerts feeds 获取链接的重定向 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26358453/
我已经作为发布者向 feedly 提交了一个站点提要。但我没有找到我有多少来自任何地方的订阅者。有什么方法可以检查订阅者数量吗? 最佳答案 尝试输入如下 curl http://cloud.feedl
我正在设计一个 Feeds 系统,一个人可以发布新闻,其他人可以看到彼此的新闻,就像 Twitter 一样。 现在我将新闻保存在 HBase 中,并将它们缓存在 Redis 中。这种方法有 O(1)
我在 atom 文件中显示图像时遇到问题。它不包括谷歌阅读器、歌剧或火狐的提要中的图像。 作为起点,我在 [Atom 1.0 Syndication Format 概述] 中执行了 list 6 中的
我已经构建了一个简单的 Django 照片应用程序。用户可以上传照片、关注其他用户和喜欢照片。为了处理用户之间的关系(关注和取消关注),我使用了一个名为 django-relationships 的包
我需要在网站中显示 Telegram channel 帖子。但我不知道如何将 Telegram channel 导出为 xml。我需要文本和图像以及其他文件和媒体,例如 mp4 - pdf 或其他内容
我正在使用Google Feed JSAPI读取/解析提要。问题是,当提要更改时,之前的条目将变得无效(链接和图像不起作用),因此我无法加载提要的缓存版本。我认为加载提要时会有一个选项不使用缓存版本,
我正在使用 Facebook 页面插件集成 Facebook 页面提要 https://developers.facebook.com/docs/plugins/page-plugin 虽然它几乎适用
我正在用 PHP 构建一个 RSS 提要聚合器/阅读器。由于 RSS 本质上是用户生成的内容,因此我不想依赖提要内容的安全性。 我正在寻求有关清理供稿内容以便在用户设备上存储和显示的建议。目前,我正在
因为我运行一个博客聚合器网站,它每小时检查大量 RSS 提要列表以获取新帖子,所以如果可以使用 google feed api 或 Google AJAX Feed API 我会很高兴而不是让 cro
嘿,我有这两个 RSS 源 - http://www.petrolprices.com/feeds/averages.xml?search_type=town&search_value=kilmarn
我无法使用 Google Feed API 加载图像,我正在使用 mediaGroup 加载图像。 这是我为获取提要而编写的 javascript 代码 google.load("feeds", "
很抱歉,如果之前有人问过这个问题 - 有一个标题相似的问题,但它不完全是我正在寻找的内容。 我正在做的是从数据库中获取结果并将其打印在适当的标签内以创建 RSS Feed。 唯一的问题是文章正文包含
我尝试发布消息来供稿,但她只显示在个人资料中。 如何使此消息显示在新闻源和个人资料源上? 这是我的示例代码: SBJSON *jsonWriter = [[SBJSON new] autoreleas
我正在尝试使用 Google feeds 将 RSS feed 添加到我的网站。问题是它限制了条目的数量。我只看到 4 个条目,但当我 curl RSS 时,我看到 28 个条目。我怎样才能让它加载其
我试图在不使用任何插件的情况下在 jQuery 中构建 rss 提要,我在这里找到了解决方案:designshack.net它使用不再使用的 Google Feed API。我发现解决方案很简单,但它
我从 Node.js 服务器连接到 Google Feed API(使用 https://stackoverflow.com/a/22821516/3303704 )。但每次我使用它时,它似乎都会加载
我正在使用以下代码获取提要: NSDictionary *dirTemp; NSError *error; NSStringEncoding encoding; NSString *strUrl =
为什么我的日历没有将 JSON Feed 中的数据放入我的网页上? $(document).ready(function() { var date = new Date(); var
旧版 Facebook News Feed 和新版之间是否存在问题? 我的位置开放图集合的输出之间存在冲突。 在旧的新闻提要中,我在使用 Open Graph 进行跨平台 checkin 时得到了这个
我正在尝试在 Django (Python) 环境中使用 Amazon API 为产品设置最高价格。我已经通过计算 md5 函数解决了这个问题,该函数的值与 Amazon MWS Scratchpad
我是一名优秀的程序员,十分优秀!