对于第二部分,如果您使用 Chrome,请右键单击“计算字数”按钮并选择“检查元素”。您会看到它与一些相关部分的POST
形式相同:/index.php
name="text"
name="optionSyllableCount"
name="optionWordCount"
(后两个是输入复选框,通常需要一个值来 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)