已经使用了 Foreach,Guzzle 执行了一次
已经使用了 Foreach 为什么Guzzle 执行了一次
只更新了一条数据,麻烦大神帮看一下 那里写错了
表单
<input type="checkbox" class="checkbox" name="id[]" value="{{$v->id}}"> <span></span>
js 文件
$(document).on('click','.showonsta', function () {
var id = [];
var token = $(this).data("token");
$('.checkbox:checked').each(function(){
id.push($(this).val());
});
$.ajax({
url:"influencers/scrapy",
type: 'Post',
data: {
"id": id,
"_method": 'Post',
"_token": token,
},
success:function()
{
alert('已经修改');
}
})
});
控制器
public function scrapy(Request $request)
{
$id = $request->input('id');
$influencers = Influencers::whereIn('id', $id)->get();
$client = new Client([
'timeout' => 10,
'headers' => [
'User-Agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0',
],
]);
foreach ($influencers as $influencer) {
$url = "https://socialblade.com/instagram/user/" . $influencer->username;
//下载网页内容
$response = $client->request('GET', $url)->getBody()->getContents();
$data = []; //结构化数据存本数组
$crawler = new Crawler();
$crawler->addHtmlContent($response);
$data['posts'] = $crawler->filterXPath('//*[@id="YouTubeUserTopInfoBlock"]/div[2]/span[2]')->text();
$data['followers'] = $crawler->filterXPath('//*[@id="YouTubeUserTopInfoBlock"]/div[3]/span[2]')->text();
$data['following'] = $crawler->filterXPath('//*[@id="YouTubeUserTopInfoBlock"]/div[4]/span[2]')->text();
Influencers::where('id', $id)->update($data);
}
}
推荐文章: