V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
oh
V2EX  ›  问与答

爬 tumblr 遇到问题,不同站不同子域名,要怎么改 hosts 呢?

  •  1
     
  •   oh · 2017-07-22 21:46:19 +08:00 · 9012 次点击
    这是一个创建于 2670 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近 $$ 不太好使,所以用了改 hosts 的方法,速度还不错。
    问题是,无论 api 网址还是图片网址,都是个性域名,也就是每个子站的域名都不一样。
    我看 V2 上爬汤不热的人挺多的,都怎么解决这个下载速度的问题呢?
    17 条回复    2017-07-23 11:36:53 +08:00
    xx998
        1
    xx998  
       2017-07-22 21:52:23 +08:00 via Android
    dnsmasq
    pq
        2
    pq  
       2017-07-22 21:53:37 +08:00
    dnscrypt
    oh
        3
    oh  
    OP
       2017-07-22 22:00:10 +08:00
    @xx998 @pq 境外解析的地址在境内不一定能访问啊… 如果还是要挂 $$ 那就没区别了,现在主站改 hosts 能直接访问也是在网上找到的 hosts 列表…
    just1
        4
    just1  
       2017-07-22 22:04:10 +08:00 via Android
    @oh 用 dnscrypt 做 host 的效果
    xx998
        5
    xx998  
       2017-07-22 22:06:48 +08:00 via Android
    在路由器上使用 dnsmasq 即可解决。
    LosLord
        6
    LosLord  
       2017-07-22 22:11:05 +08:00 via Android
    爬虫放到国外服务器
    xx998
        7
    xx998  
       2017-07-22 22:12:33 +08:00 via Android   ❤️ 1
    我维护的 dnsmasq 规则,其中汤不热部分:
    address=/97.media.tumblr.com/192.229.237.98
    address=/api.tumblr.com/119.161.8.100
    address=/assets.tumblr.com/119.161.8.100
    address=/media.tumblr.com/119.161.8.100
    address=/mx.tumblr.com/192.229.237.97
    address=/srvcs.tumblr.com/66.6.32.162
    address=/static.tumblr.com/119.161.8.100
    address=/t.umblr.com/66.6.32.162
    address=/tumblr.com/66.6.33.21
    address=/vt.tumblr.com/119.161.8.100
    address=/vtt.tumblr.com/119.161.9.100
    address=/www.tumblr.com/119.161.8.100

    这样全局域网都能用了,同时支持网页视频播放,进入个人主页等。
    oh
        8
    oh  
    OP
       2017-07-22 22:19:22 +08:00
    @xx998 个人主页不是 sitename.tumblr.com 格式的吗,我尝试把 sitename.tumblr.com 解析到 66.6.32.31 打开主页是没问题,但视频下载就失败了
    pq
        9
    pq  
       2017-07-22 22:32:43 +08:00
    @oh 子域名太多了,还是直接 dnscrypt 更省事。

    tumblr 只有域名污染,并没有封锁 ip 段,我从来没遇到过无法访问的现象,不过呢,不同国家的节点解析到的地址,速度肯定有很大差异,最好通过亚太地区的节点来解析,比如新加坡、香港。。。
    oh
        10
    oh  
    OP
       2017-07-22 22:36:13 +08:00
    @pq 明白了,比如在香港解析得到 IP 地址,境内直接本地解析就没问题咯
    Lax
        11
    Lax  
       2017-07-23 01:04:57 +08:00
    不太明白你的代码逻辑,用了什么库。但是你可以考虑在请求时设置代理的,curl 和 requests 的参数文档都有提到
    oh
        12
    oh  
    OP
       2017-07-23 01:31:37 +08:00
    @Lax 跟什么语言什么库没关系,如果指定 IP 可以直接访问的话,不要代理那肯定是最快的,这也是我在主帖中提到的目的,如果还要经过代理,那无论是普通代理,还是 $$ 还是其它,肯定是没有直连来得快。

    PS. 问题已经解决,按 @pq 说的先用香港的主机查询出 IP 地址,然后请求的时候请问 https://ip/api/xxx,并把域名作为 Host 参数一起带上,速度杠杠的。
    wangxiaoer
        13
    wangxiaoer  
       2017-07-23 07:26:55 +08:00 via Android
    @oh 不同域名的博主可能用了不同的主题,怎么定位内容的?
    Hucai
        14
    Hucai  
       2017-07-23 08:07:27 +08:00
    难道没老司机分享一波 lists 吗
    JasperYanky
        15
    JasperYanky  
       2017-07-23 10:31:43 +08:00
    注意身体啊
    oh
        16
    oh  
    OP
       2017-07-23 11:00:19 +08:00 via iPhone
    @wangxiaoer 有 api 啊……
    wangxiaoer
        17
    wangxiaoer  
       2017-07-23 11:36:53 +08:00 via Android
    @oh Api 知道,但是没有发现关于限制之类,所以不确定搞一个抓人家内容的网站会不会不允许。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1502 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 23:55 · PVG 07:55 · LAX 15:55 · JFK 18:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.