使用Python检索类似Facebook的链接摘要(标题、摘要、相关图像)
我想复制Facebook用来解析链接的功能。当您将链接提交到Facebook状态时,他们的系统会弹出并检索建议的使用Python检索类似Facebook的链接摘要(标题、摘要、相关图像),python,facebook,semantics,screen-scraping,summary,Python,Facebook,Semantics,Screen Scraping,Summary,我想复制Facebook用来解析链接的功能。当您将链接提交到Facebook状态时,他们的系统会弹出并检索建议的标题,摘要,通常还会从该页面中检索一个或多个相关的图像,您可以从中选择缩略图 我的应用程序需要使用Python来实现这一点,但我愿意接受与此相关的任何类型的指南、博客文章或其他开发人员的经验,这些可能会帮助我了解如何实现它 我真的很想在插手之前学习别人的经验 明确地说,当给定网页的URL时,我希望能够检索: 标题:可能只是标签,但可能是,不确定 该页的一段摘要 可以用作缩略图的一组相关
标题
,摘要
,通常还会从该页面中检索一个或多个相关的图像
,您可以从中选择缩略图
我的应用程序需要使用Python来实现这一点,但我愿意接受与此相关的任何类型的指南、博客文章或其他开发人员的经验,这些可能会帮助我了解如何实现它
我真的很想在插手之前学习别人的经验
明确地说,当给定网页的URL时,我希望能够检索:
标签,但可能是
,不确定soup
对象,然后执行以下操作以提取您感兴趣的内容:
title = soup.findAll('title')
images = soup.findAll('img')
然后,您可以使用urllib2
根据它们的url
下载每个图像
标题相当简单,但是图片可能会有点困难,因为你必须下载每一张图片才能获得相关的统计数据。也许你可以根据颜色的大小和数量过滤掉大部分图像?例如,圆角很小,通常只有1-2种颜色
至于页面摘要,这可能有点困难,但我一直在做这样的事情:
.findAll
,然后使用.extract
从html
中删除所有样式、脚本、表单和头块.join(soup.findAll(text=True))
“文本”
内容作为页面摘要
我希望这能有所帮助。这里有一个完整的解决方案:
Python3.1不支持BeautifulSoup,它的原始作者也不再做太多的开发工作。您可能最好使用lxml.html和/或html5lib(后者由BeautifulSoup作者推荐)。很高兴知道,以供将来参考。谢谢不幸的是,这个项目不支持Python3。
>>> import summary
>>> s = summary.Summary('http://stackoverflow.com/users/76701/ram-rachum')
>>> s.extract()
>>> s.title
u'User Ram Rachum - Stack Overflow'
>>> s.description
u'Israeli Python hacker.'
>>> s.image
https://www.gravatar.com/avatar/d24c45635a5171615a7cdb936f36daad?s=128&d=identic
on&r=PG
>>>