2番目の部分では、Chromeを使用している場合は、[単語数の計算]ボタンを右クリックして、[要素の検査]を選択します。あなたはそれがいくつかの関連する部分でPOST
形作られているのを見るでしょう:/index.php
name="text"
name="optionSyllableCount"
name="optionWordCount"
(次の2つは入力チェックボックスであり、通常はPOSTに値が必要です)。
import urllib
url = 'http://www.wordcalc.com/index.php'
post_data = urllib.urlencode(
{'text': 'virgina'})
post_data = '%s&optionSyllableCount&optionWordCount' % post_data
cnxn = urllib.urlopen(url, post_data)
response = cnxn.read()
cnxn.close()
応答を解析したい場合は、次のようになります。
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(response)
h3_matches = [h3 for h3 in soup.findAll('h3') if h3.text == 'Statistics']
if len(h3_matches) != 1:
raise Exception('Wrong number of <h3>Statistics</h3>')
h3_match = h3_matches[0]
table = h3_match.findNextSibling('table')
td_matches = [td for td in table.findAll('td')
if td.text == 'Syllable Count']
if len(td_matches) != 1:
raise Exception('Wrong number of <td>Syllable Count</td>')
td_match = td_matches[0]
td_value = td_match.findNextSibling('td')
syllable_count = int(td_value.text)