python - BeautifulSoup 无法提取元数据

标签 python metadata beautifulsoup web-scraping

我正在尝试创建一个函数,该函数将从给定的 URL 中提取元关键字并返回它。然而,无论我传递给它什么 URL,它总是会失败。

def GetKeywords(url):
  soup = BeautifulSoup(url)
  keywords = soup.findAll('meta', attrs={'name':re.compile("^keywords$", re.I)}) #Find all meta keywords on that page
  if len(keywords) == 0: #Check to see if that page has any meta keywords to begin with
    print "No meta keywords for: " + str(url)
    return -1
  else:  #If so then return them
    return keywords

最佳答案

BeautifulSoup 在哪里声明它会接受获取 URL?

soup = BeautifulSoup(url)

抱歉,请先自己阅读 BeautifulSoup 文档,而不是尝试和猜测 API 方法。

http://www.crummy.com/software/BeautifulSoup/documentation.html#Parsing一个文档

您想要的可能是使用 Python 的 urllib2 模块来获取数据您自己 在将其输入 BeautifulSoup 之前,或者查看类似 scrapy 模块的内容。

关于python - BeautifulSoup 无法提取元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087291/

相关文章:

python - Python for 循环中的多个索引迭代

python - 如何使用 sqlalchemy 为现有表创建临时表?

Python 正则表达式邮政编码匹配

asp.net - 使用 SetDocsMetaInfo Frontpage Server Extensions RPC 方法在 Sharepoint Doc-Lib 中填写多选字段

vagrant - 如何使用 `metadata.json` 文件设置通过 VMware Fusion 创建的 Vagrant box 的版本?

python - 抓取编码为 iso-8859-1 而不是 utf-8 : how do I store the correct unicode in my database? 的网站

python - 如何从表格中抓取第二列

python - 谷歌应用引擎代理

sql-server - 授予对 INFORMATION_SCHEMA 的访问权限

通过谷歌翻译翻译的Python脚本