2016-12-03 3 views
0

Привет всем, новый пользователь Python здесь У меня странная ошибка при создании очень простого скребка страницы.Ошибка анализатора скребка страницы?

Я использую BeautifulSoup4, чтобы помочь мне, и когда я исполню мой код, я получаю эту ошибку

«UserWarning: Нет парсер не был явно указан, поэтому я использую лучший доступный HTML анализатор для этой системы (» HTML .parser ") .Это обычно не проблема, но если вы запустите этот код в другой системе или в другой виртуальной среде, он может использовать другой парсер и вести себя по-другому.

Код, вызвавший это предупреждение находится в строке 13 файла C:/Users/***/PycharmProjects/untitled1/s.py. Чтобы избавиться от этого предупреждения, измените код, который выглядит следующим образом: «

BeautifulSoup([your markup]) 

to this: 

    BeautifulSoup([your markup], "html.parser") 

    markup_type=markup_type)) 

Если кто-нибудь поможет исправить это, я был бы очень признателен!

Код Следит

import requests 
from bs4 import BeautifulSoup 

def trade_spider(): 
    url = 'http://buckysroom.org/trade/search.php?page=' # Could add a + pls str(pagesomething) to add on to the url so that it would update 
    source_code = requests.get(url) #requests the data from the site 
    plain_text = source_code.text #imports all of the data gathered 
    soup = BeautifulSoup(plain_text) #This hold all of the data, and allows you to sort through all of the data, converts it 
    for link in soup.find_all('a', {'class' : 'item-name'}): 
     href = link.get('href') 
     print(href) 

trade_spider() 
+1

Возможный дубликат [Как избавиться от предупреждения пользователя BeautifulSoup?] (http://stackoverflow.com/questions/33511544/how-to-get-rid-of-beautifulsoup-user-warning) –

ответ

0

Вы могли бы попытаться изменить следующую строку:

soup = BeautifulSoup(plain_text, "html.parser") 

или какой-либо другой parser вам нужно использовать ...

+0

Это сработало отлично! Не могли бы вы объяснить, почему это сработало? –

+0

@NoahLinton, насколько мне известно, BeautifulSoup нуждается в парсере, чтобы он мог лучше распознать веб-контент и предоставить правильные результаты синтаксического анализа. Если вы проверите ссылку в моем сообщении, вы увидите, что есть и другие синтаксические анализаторы для разных видов контента. Для получения дополнительной информации: https://www.crummy.com/software/BeautifulSoup/bs4/doc/#specifying-the-parser-to-use – coder

Смежные вопросы