【发布时间】:2017-03-21 06:32:23
【问题描述】:
我正在尝试从这里获取数据:https://wyobiz.wy.gov/Business/FilingSearch.aspx
我正在尝试检查商家名称是否免费。 但是这个网站是asp.net web forms,整个网站就是一个大表格。 而且我不知道如何从这个表单中获取数据。
我认为问题在于:
'__VIEWSTATE' => '',
'__VIEWSTATEGENERATOR' => '9E6EC73D',
'__EVENTVALIDATION' => '',
是否可以在 PHP 中发送请求并获取返回的数据? 因为,这段代码正在返回
当前节点列表为空。
谢谢。
我的代码:
$crawler = $client->request('GET', 'https://wyobiz.wy.gov/Business/FilingSearch.aspx');
$form = $crawler->selectButton('Search')->form();
$formValues = $form->getValues();
$crawler = $client->submit($form, array(
'__VIEWSTATE' => $formValues['__VIEWSTATE'],
'__VIEWSTATEGENERATOR' => $formValues['__VIEWSTATEGENERATOR'],
'__EVENTVALIDATION' => $formValues['__EVENTVALIDATION'],
'ctl00$MainContent$myScriptManager' => 'MainContent_myScriptManager',
'ctl00$MainContent$txtFilingName' => 'Google',
'ctl00$MainContent$searchOpt' => 'chkSearchStartWith',
'ctl00$MainContent$txtFilingID' => null,
));
$crawler->filter('body')->each(function ($node) {
print $node->text() . "\n";
});
结论:Goutte SUCKS Goutte 的支持SUCKS!
【问题讨论】:
-
我开始想,这不可能……
-
$formValues['__VIEWSTATE']这个变量的输出是什么?它是空的吗? -
@hassan 不,它不是空的。它返回的字符串很长。
-
我不明白为什么它不起作用。 __VIEWSTATE , __VIEWSTATEGENERATOR, __EVENTVALIDATION 设置正确....
-
我认为您发送的参数存在问题;您没有发送完整的必需参数
标签: php asp.net curl web-scraping goutte