Не удается получить всю веб-страницу после запроса - PullRequest
0 голосов
/ 07 августа 2011

Я пытаюсь очистить исторические таблицы 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 я обнаружил, что отправленные данные формы следующие:

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» :( Я что-то упустил?Сервер отправляет таблицу в отдельном потоке?Как мне добраться до этого?

1 Ответ

1 голос
/ 07 августа 2011

Когда я смотрю на запрос POST в firebug, я вижу еще один параметр, который вы не передаете: "type" - это "Year". Я не знаю, получат ли это данные для вас, есть ряд других причин, по которым они могут не предоставлять вам данные.

...