2014-11-13 2 views
0

Я пытаюсь очистить tvtropes с помощью beautifulsoup, но по какой-то причине данные, которые я хочу, вырезаны. Я говорю, даже когда я возвращаю весь «суп» со страницы. Конкретным примером является этот сайт: http://tvtropes.org/pmwiki/pmwiki.php/Series/FireflyПочему я не могу получить доступ ко всем данным на этой странице?

Я хочу очистить все тропы в папках внизу. По какой-то причине после того, как «я был нацелен в папку AD под элементом списка« Случайные цели », он перестает возвращать данные из этих папок, а затем распечатывает материал в. Я делаю все правильно, поэтому я не понимаю, что проблема. есть ли tvtropes не позволяют очистить всю страницу по какой-то причине?

def webcrawler(startingurl): 
    request = urllib2.Request(startingurl) 
    url = urllib2.urlopen(request)  
    soup = BeautifulSoup(url) 
    print soup.prettify().encode('UTF-8') 
    #this does the same thing 
    for item in soup.findAll('a', {'class':'twikilink'}): 
     if 'Main' in str(item): 
      print item, '\n' 

webcrawler("http://tvtropes.org/pmwiki/pmwiki.php/Series/" + 'Firefly') 
+0

Так вы пытаюсь очистить сайт с помощью не зная, разрешено ли соскабливание? – Anzel

+0

Не могу найти информацию об этом –

+0

Кажется, что все нормально работает: 'soup.find (" div ", id =" folder0 "). FindAll (" a ", {" class ":" twikilink "})', '[item для item в soup.find (" div ", id =" folder0 "). findAll (" a ", {" class ":" twikilink "}), если« Main »в элементе [" href "]]' , –

ответ

1

попробовать это,

pip install html5lib 

, а затем изменить код на,

soup = BeautifulSoup(url,'html5lib') 


out[]: 
<a class="twikilink" href="http://tvtropes.org/pmwiki/pmwiki.php/Main/YouHaveToHaveJews" title="http://tvtropes.org/pmwiki/pmwiki.php/Main/YouHaveToHaveJews">You Have to Have Jews</a> 

<a class="twikilink" href="http://tvtropes.org/pmwiki/pmwiki.php/Main/YouMustBeCold" title="http://tvtropes.org/pmwiki/pmwiki.php/Main/YouMustBeCold">You Must Be Cold</a> 

<a class="twikilink" href="http://tvtropes.org/pmwiki/pmwiki.php/Main/YouRebelScum" title="http://tvtropes.org/pmwiki/pmwiki.php/Main/YouRebelScum">You Rebel Scum!</a> 
+0

Это html5lib было! После использования tvtropes начал ограничивать мою частоту запросов, но спасибо огромное! –

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