- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 Laravel 5.2 的新手,我想抓取一个网页。我开始知道可以使用 Goutte 来完成.并且不知道如何使用它。
我已经安装了 Laravel 和 Goutte,但是如何使用呢?如何设置Controller、路由和所有需要的东西?
最佳答案
我找到了答案。我只是将 url 添加到路由并创建了 Controller
Route::resource('scrape','WebScraperController@index');
WebScraperController 内部
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Goutte\Client;
use Symfony\Component\DomCrawler\Crawler;
use App\Http\Requests;
class WebScraperController extends Controller
{
public function index()
{
// Create a new Goutte client instance
$client = new Client();
// Hackery to allow HTTPS
$guzzleclient = new \GuzzleHttp\Client([
'timeout' => 60,
'verify' => false,
]);
// Create DOM from URL or file
$html = file_get_html('https://www.facebook.com');
// Find all images
foreach ($html->find('img') as $element) {
echo $element->src . '<br>';
}
// Find all links
foreach ($html->find('a') as $element) {
echo $element->href . '<br>';
}
}
}
关于php - 如何使用 Goutte 在 laravel 5.2 中进行抓取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534181/
我正在使用 php 7.4.1和 "fabpot/goutte": "^3.3" . 我有以下脚本: request('GET', $url)->html(); $crawler =
首页搜索测试正常。但我不确定提交应该如何工作以及如何调试它。这就是我所拥有的: behat.yml default: formatter: name: progress
我尝试通过 Goutte 列表从流行的拍卖网络服务中抓取,但它们的部分代码是由 javascript 呈现的,问题是 Goutte 只返回没有 JS 作业的 DOM。因此,如果 symphony 是
我尝试使用 Guzzle 的文档来设置代理,但它不起作用。 Goutte 的官方 Github 页面已经死了,所以在那里找不到任何东西。 有人知道如何设置代理吗? 这是我尝试过的: $client =
我正在使用"fabpot/goutte": "^4.0",。 我正在尝试从网站获取数组中的日期和版本。 请找到我的可运行示例: request('GET', $url)->html(); $c
我正在使用"fabpot/goutte": "^4.0",。 我正在尝试从网站获取数组中的日期和版本。 请找到我的可运行示例: request('GET', $url)->html(); $c
如何抓取 data-来自 的属性链接使用goutte和 laravel ? 我想像这样抓取标签: 在此内然后我想抓取 data-original-title 链接标签。 我的代码是: $clien
我正在抓取的一个站点对两个参数使用相同的名称,因此我想做这样的事情: $params = array('dates' => '20140414', 'o' => '192382', 'o' => '2
能否请您帮助我找到一种使用 Goutte 从元描述、元关键字和机器人内容中获取内容的方法。另外,我如何定位 和 ? 下面是我用来获取的PHP内容: require_once 'goutte.phar
我的网站上有 html ( http://testsite.com/test.php) : click back click back
我有以下代码,但它总是返回一个 407 HTTP 状态代码。 $url = 'http://whatismyip.org'; $client = new Client(); $options = ar
我在玩 Goutte,但无法连接到某个网站。所有其他 URL 似乎都运行良好,我正在努力了解是什么阻止了它的连接。它只是挂起,直到 30 秒后超时。如果我删除超时,同样的情况会在 150 秒后发生。
如何配置 Goutte Client 使用文件将 cookie 存储在文件中?我知道它是一种围绕 GuzzleHttp 客户端的包装器。但我无法将其配置为将 cookie 保存到文件中以在请求之间重用
我被这个错误困住了...但客户端已定义。 我的代码是这样的 use Goutte\Client; use Illuminate\Http\Request; use GuzzleHttp\Client
我正在尝试从此 url 获取数据与 Goutte但是,当我尝试仅过滤具有“empresa”类的 div 时,我得到了整个页面。如何仅过滤具有特定类的 div? 这是我的代码: re
我正在抓取网站,目前使用 Goutte 解析 HTML 没有问题。但我需要从网站检索 JSON,并且由于 cookie 管理,我不想使用 file_get_contents() 执行此操作 - 这是行
这段代码,返回内容的 hrefs,现在我想从这个 hrefs 中提取内容并将其发送到我的 View 。命名我需要提取的 div: Contact: Monkey
我不知道如何在 Goutte 中设置 cookie。我正在尝试以下代码: $client->setHeader('User-Agent', 'Mozilla/5.0 (Macintosh; Intel
我正在尝试使用 goutte 返回一组项目,我可以将它们打印出来,但我希望它们在一个数组中,就像 API 一样。这是示例代码。我正在使用 Laravel 5.1。 public function in
目的是在远程网站上填充一个表单[id=thisAwesomeRemoteForm][action=#]。只有一个字段 (input[name=awesomeField]) 需要填充,然后需要提交表单。
我是一名优秀的程序员,十分优秀!