jjzjj

php - 使用 goutte 从文件/字符串中读取

我正在使用Goutte制作网络爬虫。为了开发,我保存了一个我想遍历的.html文档(所以我不会经常向网站发出请求)。这是我到目前为止所拥有的:useGoutte\Client;$client=newClient();$html=file_get_contents('test.html');$crawler=$client->request(null,null,[],[],[],$html);据我所知,应该在Symfony\Component\BrowserKit中调用请求,并传入原始正文数据。这是我收到的错误消息:PHPFatalerror:Uncaughtexception'Guzz

php - 是否可以用 Goutte 解析 JSON?

我正在抓取网站,目前使用Goutte解析HTML没有问题。但我需要从网站检索JSON,并且由于cookie管理,我不想使用file_get_contents()执行此操作-这是行不通的。我可以使用纯cURL,但在这种情况下我只想使用Goutte而不想使用任何其他库。那么有没有什么方法可以让我通过Goutte只解析文本,或者我真的必须用好的旧方法来做这个?/*SampleCode*/$client=newClient();$crawler=$client->request('foo');$crawler=$crawler->filter('bar');//ofcoursenotworki

php - 如何使用 Goutte Crawler 提取数据?

这段代码,返回内容的hrefs,现在我想从这个hrefs中提取内容并将其发送到我的View。命名我需要提取的div:Contact:MonkeyPhonenumber:001111111for($i=0;$irequest('GET',''.$link.'&std=1&results='.$i);$n=$d->filter('a[class="o_title"]')->each(function($node){$pp=newClient();$dd=$pp->request('GET',$node->attr('href'));$kk=$dd->filter('div[id="adv_

php - 贝哈特和水貂 : Use the test environment

我目前正在使用Behat和Mink&Goutte驱动程序。当我尝试通过app_dev.php在我的开发环境中使用它时文件,这是一个典型的app_dev.php来自Symfony2标准版的文件,我的测试工作正常(Gists)。但是,如果我想使用app_test文件(与app_dev文件相同,除了将环境参数设置为“test”而不是“dev”,并且Debug模式已禁用),关于注销场景下,Goutte似乎找不到“user_signup”标识符,而在“登录”场景下,它没有找到“Root”文本节点。事实上,当我使用printlastresponse,似乎用户尚未登录:我仍然看到用于登录用户的表单.

php - 贝哈特和水貂 : Use the test environment

我目前正在使用Behat和Mink&Goutte驱动程序。当我尝试通过app_dev.php在我的开发环境中使用它时文件,这是一个典型的app_dev.php来自Symfony2标准版的文件,我的测试工作正常(Gists)。但是,如果我想使用app_test文件(与app_dev文件相同,除了将环境参数设置为“test”而不是“dev”,并且Debug模式已禁用),关于注销场景下,Goutte似乎找不到“user_signup”标识符,而在“登录”场景下,它没有找到“Root”文本节点。事实上,当我使用printlastresponse,似乎用户尚未登录:我仍然看到用于登录用户的表单.

php - 从 Goutte 访问 Guzzle Response

我正在尝试从Goutte访问GuzzleResponse对象。因为那个对象有我想使用的好方法。例如getEffectiveUrl。据我所知,如果不破解代码就无法做到这一点。或者在不访问响应对象的情况下,有没有办法从goutte获取最后重定向的url? 最佳答案 有点晚了,但是:如果您只对获取上次重定向到的URL感兴趣,您可以简单地做$client=newGoutte\Client();$crawler=$client->request('GET','http://www.example.com');$url=$client->get

php - Goutte/Guzzle 可以强制进入 UTF-8 模式吗?

我正在使用Goutte从UTF-8网站抓取数据,它在内部使用Guzzle。该站点声明了一个UTF-8元标记,因此:但是,内容类型header是这样的:Content-Type:text/html而不是:Content-Type:text/html;charset=utf-8因此,当我抓取时,Goutte并没有发现它是UTF-8,而是错误地抓取了数据。远程站点不在我的控制之下,所以我无法解决那里的问题!这是一组用于复制问题的脚本。一、刮刀:request('get',$url);$text=$crawler->text();echo'Wholepage:'.$text."\n";现在是放

php - 如何使用 Goutte 进行代理认证?

我有以下代码,但它总是返回一个407HTTP状态代码。$url='http://whatismyip.org';$client=newClient();$options=array('proxy'=>array('http'=>'tcp://@x.x.x.x:8010',),'auth'=>array('d80fe9ebasab73d21a4','','basic'));$crawler=$client->request('GET',$url,$options);$status=$client->getResponse()->getStatus();echo$status;//407我
12