网页抓取数据(豆瓣电影为例记录如何站在巨人(api)的肩膀上获取数据)
优采云 发布时间: 2021-11-17 15:16网页抓取数据(豆瓣电影为例记录如何站在巨人(api)的肩膀上获取数据)
一般成熟的网站都会有反爬虫策略,比如限制访问次数、限制IP访问、动态展示数据等。爬虫和反爬虫总是在爱中互相压制,互相残杀。如果要使用爬虫来获取一些大的网站数据,是一项非常费时费力的工作。小白在经历各种坑之前一直被IP或者账号封杀(呵呵~是我)。
但也有一些公司抱着开放、互联的态度,好心地为大家提供api接口。本篇博客将以豆瓣电影为例,记录如何从巨人的肩膀(api)获取数据。不过现在豆瓣api好像逐渐关闭了,api key也停止申请了,我用着,珍惜着。
>> 必需的包```rlibrary(httr)library(jsonlite)```
#### >> 获取JSON豆瓣电影url还是很规则的,比如id为27074316的电影的url是,但是id的顺序不规则。例如,2000 年上映的电影的 id 可能大于 2010 年上映的电影的 id。
豆瓣电影的id范围大约在130万到272万之间,但可能会有一些无效的id。如果需要获取所有豆瓣电影的数据,那么必须遍历所有的id。如果您只需要部分数据,则必须使用搜索键。
比如id为27074316的电影的api资源url是
{your_api_key}
比如搜索2018年电影的api资源url是
{your_api_key}
在浏览器中输入上面的url(记得用你的api key替换)可以看到返回的json,R中要获取json需要使用httr包中的GET函数。如果返回 200,则表示请求成功。
<p>url