php抓取网页表格信息(查看豆瓣文档这是豆瓣开放的api中电影部分的文档返回数据)

优采云 发布时间: 2022-01-11 23:21

  php抓取网页表格信息(查看豆瓣文档这是豆瓣开放的api中电影部分的文档返回数据)

  查看豆瓣api文档

  这是豆瓣开放api的电影部分的文档

  我们直接选择top250之后往下翻阅可以看到参数需求,有两个参数,start和count,分别代表请求开始的起始地址,这里是从0开始的,count代表请求的数目。

  

  返回的数据包括我们输入的参数start和count,以及电影数据的总数和排行榜的名称。我们需要的关于电影的具体数据在主题下。

  

  让我们在浏览器上测试一下,

  从浏览器返回的结果可以看出,我们得到了想要的返回数据。接下来我们要做的就是解析返回的 json 数据,并从中获取我们想要的数据。

  根据需要创建新的数据表

  

  id 用作主索引,自动递增。

  从网页中获取数据,然后解析格式

  我们选择使用curl获取数据,然后分析返回的json数据。

  header("Content-type:text/html;charset=utf-8");

$url = "https://api.douban.com/v2/movie/top250start=6&count=1";

$ch = curl_init();

//设置参数

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

$result = json_decode($result,true);

var_dump($result);

  

  由于我还是新手,不知道怎么解析json数据最快,所以用了一个很笨很慢的方法,把它转成数组进行提取,所以如果有大神看到这个文章希望你能赐教。

  问题总结

  1、在多次测试中,遇到豆瓣的错误返回码,rate_limit_exceeded2 IP访问限速,然后好像是被禁止访问了,但是过了一个小时左右,测试可以通过了。

  2、上面的代码在测试中插入数据库时​​发现错误,导致我在得到所有电影信息之前多次初始化i的值。

  3、我不知道如何使用正则表达式,所以在提取主要内容的时候使用了一个比较麻烦的方法,但这也启发了我学习正则表达式。还是太瓜皮了,我会继续改进的。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线