詳細ページにリンクするURLのリストを取得するには、URLを解析する必要があります。次に、そのページから、そのページからすべての詳細を取得する必要があります。詳細ページのURLは定期的に増分されたり変更されたりすることはありませんが、イベントリストページは同じままなので、この方法で行う必要があります。
基本的に:
example.com/events/
<a href="http://example.com/events/1">Event 1</a>
<a href="http://example.com/events/2">Event 2</a>
example.com/events/1
...some detail stuff I need
example.com/events/2
...some detail stuff I need
_import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen('http://yahoo.com').read()
soup = BeautifulSoup(page)
soup.prettify()
for anchor in soup.findAll('a', href=True):
print anchor['href']
_
URLのリストが表示されます。これで、これらのURLを反復処理し、データを解析できます。
inner_div = soup.findAll("div", {"id": "y-shade"})
これは一例です。 BeautifulSoupチュートリアルをご覧ください。これに出くわす次のグループについては、v3が更新されなくなったため、BeautifulSoupはこの投稿の時点でv4にアップグレードされました。
$ easy_install beautifulsoup4
$ pip install beautifulsoup4
Pythonで使用するには...
import bs4 as BeautifulSoup
Urllib2を使用してページを取得し、美しいスープを使用してリンクのリストを取得します。また、scraperwiki.comを試してください。
編集:
最近の発見:lxmlでBeautifulSoupを使用して
from lxml.html.soupparser import fromstring
beautifulSoupよりもはるかに優れています。これにより、命を救うdom.cssselect( 'your selector')を実行できます。良いバージョンのBeautifulSoupがインストールされていることを確認してください。 3.2.1はおやつです。
dom = fromstring('<html... ...')
navigation_links = [a.get('href') for a in htm.cssselect('#navigation a')]