2017-05-03 23 views
0

私はPiography Webサイトからいくつかの記事を抽出する必要があります。BeautifulSoupを使用してhtmlページからリンクを抽出してください

soこのページからhttp://www.biography.com/peopleすべてのサブリンクが必要です。例えば :

/people/ryan-seacrest-21095899 
/people/edgar-allan-poe-9443160 

が、私は二つの問題があります:私はすべての<>見つけようとしていたときに

1-。私は必要なhrefを見つけることができませんでした。

import urllib2 
from BeautifulSoup import BeautifulSoup 
url = "http://www.biography.com/people" 
text = urllib2.urlopen(url).read() 
soup = BeautifulSoup(text) 
divs = soup.findAll('a') 
for div in divs: 
    print(div) 

2「もっと見る」ボタンがあります。私はどのようにしてウェブサイトのすべての人々のためのすべてのリンクを取ることができます。最初のページに表示されるだけではありませんか?

+2

これは、私が必要とする正確には –

答えて

2

あなたが見せているものは、角度をつけてコンテンツの一部をJSで生成します。 BeautifulSoupはJSを実行しません。 http://selenium-python.readthedocs.io/などの別の楽器を使用する必要があります。または、あなたがGET(またはPOSTの可能性があります)メソッドのためにajaxの必要性を詮索し、彼を介してデータを与えることができます。

+0

にセレンを使用する必要があります。ありがとう:)) – user1927468

+1

素晴らしい投稿、私はセレンとPhantomJSを使用することをお勧めします。また、 driver.page_source メソッドを使用してSeleniumソースを管理するBeautifulSoupでページを解析し、特定のJSを.execute_script で実行するか、または.get_attribute( –

関連する問題