【发布时间】:2011-08-07 11:59:49
【问题描述】:
我正在尝试抓取此页面上的历史 NAVPS 表:
http://www.philequity.net/pefi_historicalnavps.php
这里的所有代码都是我最小的工作脚本的内容。所以它开始于:
import urllib
import urllib2
from BeautifulSoup import BeautifulSoup
opener = urllib2.build_opener()
urllib2.install_opener(opener)
使用Chrome的Inspect Element研究网页后,发现发送的Form Data如下:
form_data = {}
form_data['mutualFund'] = '1'
form_data['year'] = '1995'
form_data['dmonth'] = 'Month'
form_data['dday'] = 'Day'
form_data['dyear'] = 'Year'
所以我继续构建请求:
url = "http://www.philequity.net/pefi_historicalnavps.php"
params = urllib.urlencode(form_data)
request = urllib2.Request(url, params)
我希望这相当于填写表格后单击“获取 NAVPS”:
page = urllib2.urlopen(request)
然后我用BeautifulSoup阅读它:
soup = BeautifulSoup(page.read())
print soup.prettify()
但是,唉!我只得到网页,好像我没有点击“获取 NAVPS”:( 我错过了什么吗?服务器是否在单独的流中发送表?我如何获得它?
【问题讨论】:
标签: javascript python screen-scraping urllib2 urllib