Я тяну веб-страницу, которая содержит статистику для игроков с мячом. Страница является страницей 1 из нескольких страниц. Существует также выпадающий список, позволяющий просматривать более 30 игроков одновременно, что позволяет 500, чтобы я мог видеть их всех на одной странице. Я не уверен, как перетащить страницу со всеми 500 игроками, поэтому я перетаскиваю главную страницу, а затем появляется форма для публикации с размером страницы 500. Проблема в том, что форма не имеет имени, только Я бы. И когда я пытаюсь опубликовать форму с "id = form1", он говорит, что она не существует. Я сделал дампер данных и вот пост. Я бы использовал wget или curl, но он не позволяет мне извлекать файл с PageSize = 500, так как по умолчанию он равен 30. А другая проблема - это объект get и объект post. Нужно ли мне создать банку повара ie, или об этом позаботится agent_alias.
$VAR1 = bless( {
'default_charset' => 'UTF-8',
'enctype' => 'application/x-www-form-urlencoded',
'accept_charset' => 'UNKNOWN',
'action' => bless( do{\(my $o = 'https://www.fangraphs.com/projections.aspx?pos=all&stats=bat&type=steamer&team=0&lg=all&players=0&PageSize=500')}, 'URI::https' ),
'method' => 'POST',
'attr' => {
'id' => 'form1',
'method' => 'post'
},
'inputs' => [
bless( {
'readonly' => 1,
'/' => '/',
'value_name' => '',
'value' => '',
'name' => 'RadScriptManager1_TSM',
'id' => 'RadScriptManager1_TSM',
'type' => 'hidden'
}, 'HTML::Form::TextInput' ),
bless( {
'readonly' => 1,
'/' => '/',
'value_name' => '',
'value' => '/wEPDwUJNTA2ODMzMzI3D2QWBAIBD2QWAgIBDxYCHgRUZXh0BegBPG1ldGEgbmFtZT0nZGVzY3JpcHRpb24nIGNvbnRlbnQ9J1N0ZWFtZXIgYmFzZWJhbGwgcHJvamVjdGlvbnMgZm9yIGJhdHRlcnMgYW5kIHRoZSAyMDIwIHNlYXNvbicgLz4NCjxtZXRhIG5hbWU9J2tleXdvcmRzJyBjb250ZW50PSdiYXNlYmFsbCBwcm9qZWN0aW9ucywgYmF0dGVyIHByb2plY3Rpb25zLCBzdGVhbWVyI
В списке есть несколько других входных данных, но я не уверен, что они мне понадобятся. Я могу опубликовать все это, если это необходимо. Вот небольшой фрагмент кода, который я запускаю.
my $mech = WWW::Mechanize->new();
$mech->agent_alias('Linux Mozilla');
my $url = "https://www.fangraphs.com/projections.aspx?pos=all&stats=bat&type=steamer&team=0&lg=all&players=0&PageSize=500";
$mech->get($url);
$mech->submit_form(
id => 'form1',
);