BeautifulSoup не может извлечь метаданные

1

Я пытаюсь создать функцию, которая будет извлекать мета-ключевые слова из заданного 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
Теги:
web-scraping
metadata
beautifulsoup

1 ответ

3
Лучший ответ

Где состояние BeautifulSoup утверждает, что оно будет принимать и извлекать URL-адрес?

soup = BeautifulSoup(url)

Извините, но сначала прочитайте документацию BeautifulSoup, вместо этого попробуйте и угадайте методы API.

http://www.crummy.com/software/BeautifulSoup/documentation.html#Parsing a Документ

Что вы хотите, скорее всего, используя модуль urllib2 Python для получения данных самостоятельно перед подачей его в BeautifulSoup, или вы посмотрите на что-то вроде модуля scrapy.

  • 0
    Спасибо за ответ, я буквально только начал изучать Python сегодня, я пытался читать документацию BS, но не совсем понял. Еще раз спасибо, высоко ценится.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню