php 抓取网页生成图片(每天都会推送一张很漂亮的图片,如何?(图))
优采云 发布时间: 2021-10-08 00:33php 抓取网页生成图片(每天都会推送一张很漂亮的图片,如何?(图))
发表于 2020-04-05, 17:28-admin
必应搜索首页每天都会推送一张非常漂亮的图片。如何使用PHP获取Bing搜索日常图片?
我们使用的界面是
注意,有几个GET参数,它们的作用是:
这里设置n为1、格式为js,idx为0发送GET请求【推荐一个Getman在线版:】,返回数据如下:
{
"images": [
{
"startdate": "20200404",
"fullstartdate": "202004041600",
"enddate": "20200405",
"url": "/th?id=OHR.KissimmeeFrog_ZH-CN8379824947_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp",
"urlbase": "/th?id=OHR.KissimmeeFrog_ZH-CN8379824947",
"copyright": "基西米湖中的绿色树蛙和紫色睡莲,佛罗里达州 (© Joanne Williams/Danita Delimont)",
"copyrightlink": "https://www.bing.com/search?q=%E5%9F%BA%E8%A5%BF%E7%B1%B3%E6%B9%96&form=hpcapt&mkt=zh-cn",
"title": "",
"quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20200404_KissimmeeFrog%22&FORM=HPQUIZ",
"wp": true,
"hsh": "759031457bf9d3d144d511a09e80d227",
"drk": 1,
"top": 1,
"bot": 1,
"hs": []
}
],
"tooltips": {
"loading": "正在加载...",
"previous": "上一个图像",
"next": "下一个图像",
"walle": "此图片不能下载用作壁纸。",
"walls": "下载今日美图。仅限用作桌面壁纸。"
}
}
“images”节点下的“url”值就是我们要获取的图片的地址。我们取出来,加上Bing的URL前缀(),构成一个完整的图片地址。比如上面返回数据的完整图片地址是这样的:
th?id=OHR.KissimmeeFrog_EN-CN8379824947_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
知道了如何获取背景图片,接下来就是使用PHP动态抓取了。
如果只是想作为网页背景使用,只需要创建一个php文件,在里面粘贴如下代码即可:
然后将php文件上传到你的服务器,你应该可以看到访问php文件时被重定向到Bing的图片。
使用方法:直接将php文件的绝对地址作为图片放入网页中。
比如你的php地址是“”,那么你可以在自己网页的css中写这个,作为背景:
body{
width:100%;
height:100%;
background: url(https://hao.defcon.cn/bing.php) no-repeat;
-moz-background-size: cover; /*背景图片拉伸以铺满全屏*/
-ms-background-size: cover;
-webkit-background-size: cover;
background-size: cover;
}
上面的方法只是一个简单的跳转。如果您想抓取这张图片并将其保存到服务器怎么办?直接把代码贴在这里:
<p>