我正在尝试抓取此页面上的历史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['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”:(
我错过了什么?服务器是否在单独的流中发送表?我怎么做到的?
答案 0 :(得分:1)
当我在firebug中查看POST请求时,我看到另外一个你没有传递的参数:“type”是“Year”。我不知道这是否能为您提供数据,还有其他许多原因可能无法为您提供数据。