# 如何导出豆瓣所有的8~9分的电影？

**URL:** <https://meta.appinn.net/t/topic/29982>\
**Category:** 问题求助\
**Created:** [2022 年2 月 14 日 04:51 UTC](https://meta.appinn.net/t/topic/29982 "2022-02-14T04:51:59Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 04:51 UTC](https://meta.appinn.net/t/topic/29982/1 "2022-02-14T04:51:59Z")

</div>

[https://movie.douban.com/tag/#/?sort=U&range=8,9&tags=电影](https://movie.douban.com/tag/#/?sort=U&range=8,9&tags=%E7%94%B5%E5%BD%B1)

9分的电影只有1000多，chrome加载完后，用一个chrome扩展提取所有的链接就导出来了

但是8分~9分的，手工点击到了3000条记录还没有结束，一直手工加载也没有问题，但是问题是，到了2000多时，点击网页底部的『加载更多』反应很慢，间隔3~4分钟，再去点击才能加载。

请问如何导出所有的8~9分电影的URL链接呢？

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 05:17 UTC](https://meta.appinn.net/t/topic/29982/2 "2022-02-14T05:17:13Z")

</div>

试了东方永页机，但不到一会就不动了

---

<div class="post-metadata">

作者： ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
发布日期： [2022 年2 月 14 日 05:19 UTC](https://meta.appinn.net/t/topic/29982/3 "2022-02-14T05:19:59Z")

</div>

[https://chrome.google.com/webstore/detail/web-scraper-free-web-scra/jnhgnonknehpejjnehehllkliplmbmhn](https://chrome.google.com/webstore/detail/web-scraper-free-web-scra/jnhgnonknehpejjnehehllkliplmbmhn)

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2022 年2 月 14 日 05:26 UTC](https://meta.appinn.net/t/topic/29982/4 "2022-02-14T05:26:08Z")

</div>

试试python

---

<div class="post-metadata">

作者： ![Hoothin](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/hoothin/32/31202_2.png) [@Hoothin](https://meta.appinn.net/u/Hoothin)\
发布日期： [2022 年2 月 14 日 06:12 UTC](https://meta.appinn.net/t/topic/29982/5 "2022-02-14T06:12:40Z")

</div>

发现一个永页机用户

---

<div class="post-metadata">

作者： ![Hoothin](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/hoothin/32/31202_2.png) [@Hoothin](https://meta.appinn.net/u/Hoothin)\
发布日期： [2022 年2 月 14 日 06:13 UTC](https://meta.appinn.net/t/topic/29982/6 "2022-02-14T06:13:45Z")

</div>

试试 [https://movie.douban.com/j/new\_search\_subjects?sort=U&range=8,9&tags=电影&start=0](https://movie.douban.com/j/new_search_subjects?sort=U&range=8,9&tags=%E7%94%B5%E5%BD%B1&start=0) 写个定时器获取，start后面20 20累加

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 07:03 UTC](https://meta.appinn.net/t/topic/29982/7 "2022-02-14T07:03:15Z")

</div>

我一打开是这样，是需要配合永页机的使用吗？

 ![image](https://meta.appinn.net/uploads/default/original/3X/8/d/8d0ea6475daab923918c70968337808972618269.png)

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 08:08 UTC](https://meta.appinn.net/t/topic/29982/8 "2022-02-14T08:08:26Z")

</div>

看起来像JSON数据，在后面累加20，内容会有变化

但是，写个定时器，对我这样的菜鸟而言。。。。

---

<div class="post-metadata">

作者： ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
发布日期： [2022 年2 月 14 日 08:16 UTC](https://meta.appinn.net/t/topic/29982/9 "2022-02-14T08:16:52Z")

</div>

> [@montaus](#):
>
> 写个定时器，对我这样的菜鸟而言。。。。

兄弟，学编程吗？（Doge

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 08:20 UTC](https://meta.appinn.net/t/topic/29982/10 "2022-02-14T08:20:56Z")

</div>

我数学从来没有及格过，当我看到代码里面的（）函数、+、-……我躲还来不及，目前正在用那个永页机+手工点击一个下午了，哈哈哈（一边做别的，休息时再点击一下）

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 08:21 UTC](https://meta.appinn.net/t/topic/29982/11 "2022-02-14T08:21:42Z")

</div>

我去永页机的作者帖子留言一下，说不定运气好，他给我加了一个外挂……哈哈

---

<div class="post-metadata">

作者： ![Hoothin](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/hoothin/32/31202_2.png) [@Hoothin](https://meta.appinn.net/u/Hoothin)\
发布日期： [2022 年2 月 14 日 08:22 UTC](https://meta.appinn.net/t/topic/29982/12 "2022-02-14T08:22:00Z")

</div>

```auto
let start=0,result=[],urls=[];let getData=()=>{fetch('https://movie.douban.com/j/new_search_subjects?sort=U&range=8,9&tags=%E7%94%B5%E5%BD%B1&start='+start).then(response=>response.json()).then(data=>{if(data && data.data){result=result.concat(data.data);data.data.forEach(d=>{urls.push(d.url)});start+=20;console.log(start)}getData()}).catch(e=>{setTimeout(()=>getData(),1000)})};getData();

```

顺手写了个，你试试。result是结果集合数组，urls是链接数组。不过似乎豆瓣有某时间段内300条的限制。要想一次拉取要多用几个IP

---

<div class="post-metadata">

作者： ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
发布日期： [2022 年2 月 14 日 08:23 UTC](https://meta.appinn.net/t/topic/29982/13 "2022-02-14T08:23:20Z")

</div>

深深的理解，不过编程也没那么难，真的，你看大佬刚刚给你写的代码，多简短啊（Double Doge

---

<div class="post-metadata">

作者： ![Debatrix](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/debatrix/32/4680_2.png) [@Debatrix](https://meta.appinn.net/u/Debatrix)\
发布日期： [2022 年2 月 14 日 08:24 UTC](https://meta.appinn.net/t/topic/29982/14 "2022-02-14T08:24:22Z")

</div>

```python
import json
import time
import urllib.request

url = 'https://movie.douban.com/j/new_search_subjects?sort=U&range=8,9&tags=%E7%94%B5%E5%BD%B1&start='

herders = {
    'User-Agent':
    'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.36 (KHTML,like GeCKO) Chrome/45.0.2454.85 Safari/537.36 115Broswer/6.0.3',
    'Referer': 'https://movie.douban.com/',
    'Connection': 'keep-alive'
}

num = 0
data = []
while True:
    req = urllib.request.Request('{}{}'.format(url, num), headers=herders)
    response = urllib.request.urlopen(req)
    html = json.loads(response.read().decode('utf8'))['data']
    if len(html) > 0:
        data = data + html
    else:
        break

    num = num + 20
    time.sleep(50)

with open('douban_movie.json', 'w') as f:
    json.dump(data, f)

```

写了个python版的 50秒抓一次 最后会保存个json

---

<div class="post-metadata">

作者： ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
发布日期： [2022 年2 月 14 日 08:25 UTC](https://meta.appinn.net/t/topic/29982/15 "2022-02-14T08:25:11Z")

</div>

> [@montaus](#):
>
> 我去永页机的作者帖子留言一下

@Hoothin 即作者，喵哈哈哈

> [@Hoothin](#):
>
> 不过似乎豆瓣有某时间段内300条的限制。要想一次拉取要多用几个IP

个人一般对速度需求不高，我一般会推荐超低速……挂它一个晚上

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2022 年2 月 14 日 08:32 UTC](https://meta.appinn.net/t/topic/29982/16 "2022-02-14T08:32:19Z")

</div>

我从另外一个思路来解决一下这个事情。

首页确定下目的，看遍 8～9 分的电影，那么直接利用豆瓣的“已看过”功能，就能解决这个问题。

**每看过一部电影就来标记已看过** ，然后再次打开这个页面，过滤“我没看过”就剩下了其余的影片。

我觉得这样的操作相当优雅。当然 **每看过一部电影就来标记已看过** 这件事一点也不简单。

至于一次性下载所有影片，或者导出后在其他地方使用，远不如直接标记已看过来的简单。

当然如果是其他需求，就是要爬这个列表，那就是另外一回事了。

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 08:47 UTC](https://meta.appinn.net/t/topic/29982/17 "2022-02-14T08:47:28Z")

</div>

![image](https://meta.appinn.net/uploads/default/original/3X/3/a/3af8e40712fe6cdf39894919404b1e9dc3490155.jpeg)

我运行之后出现了错误

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 09:12 UTC](https://meta.appinn.net/t/topic/29982/18 "2022-02-14T09:12:31Z")

</div>

我装了一个pycharm之后，试图找到requests模块，找不到。。。

 ![image](https://meta.appinn.net/uploads/default/original/3X/d/a/daee24c7bc3ff75fa9d6088c0438806123aa18ab.jpeg)

参考的教程：

> **[Python错误：ImportError: No module named 'requests'\_importerror: no module named...](https://blog.csdn.net/ceovip/article/details/81940125#:~:text=%E2%80%9D%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E3%80%82,%E5%9B%A0%E4%B8%BA%E6%B2%A1%E6%9C%89%E5%AF%BC%E5%85%A5requests%E6%A8%A1%E5%9D%97%E3%80%82&text=1.%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7,pip%20install%20requests%E5%91%BD%E4%BB%A4%E5%AE%89%E8%A3%85%E3%80%82)**
>
> 文章浏览阅读10w+次，点赞21次，收藏31次。在调试代码的时候，出现“ImportError: No module named ‘requests’ ”错误信息。从提示信息可以看出，出现这个错误，是因为没有导入requests模块。下面介绍两种安装requests模块的方式。 1.通过命令行工具安装 启动命令行工具窗口，切换到Python安装目录，使用pip install requests命令安装。 需要注意...\_importerror: no module named...

不容易不容易，晚上看看怎么运行这个py文件

---

<div class="post-metadata">

作者： ![montaus](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@montaus](https://meta.appinn.net/u/montaus)\
发布日期： [2022 年2 月 14 日 09:14 UTC](https://meta.appinn.net/t/topic/29982/19 "2022-02-14T09:14:07Z")

</div>

青蛙，我的目的是找到8~9分中，我没有看过的电影

所以，所有的8~9分的电影URL需要收集下来，闲暇时一个一个的慢慢看，看到哪一部分有兴趣，就mark一下，不感兴趣的就pass，当成一个发现好电影的途径

---

<div class="post-metadata">

作者： ![Debatrix](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/debatrix/32/4680_2.png) [@Debatrix](https://meta.appinn.net/u/Debatrix)\
发布日期： [2022 年2 月 14 日 12:50 UTC](https://meta.appinn.net/t/topic/29982/20 "2022-02-14T12:50:17Z")

</div>

你用的是python2吧 看看[这个](https://blog.csdn.net/qq_34288630/article/details/80052010)

[下一页](https://meta.appinn.net/t/topic/29982.md?page=2)
