求助 Python 大佬,在爬取 btc.com 中区块交易信息的 hash 码的过程中,由于访问频繁,会出现乱码,该怎么解决呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yuyang4271
V2EX    程序员

求助 Python 大佬,在爬取 btc.com 中区块交易信息的 hash 码的过程中,由于访问频繁,会出现乱码,该怎么解决呢?

  •  
  •   yuyang4271 2019-05-18 23:01:59 +08:00 3691 次点击
    这是一个创建于 2368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在爬取 btc.com 中区块交易信息的 hash 码的过程中,由于访问频繁,会出现乱码。进而报错使得程序停止运行,可以使用代理的方法改善这个情况,但是依然会出现程序停止运行的情况,我希望程序可以一直运行,但不知应该如何解决

    10 条回复    2019-05-19 16:10:27 +08:00
    changwei
        1
    changwei  
       2019-05-18 23:20:40 +08:00 via Android
    try catch 捕获错误,保存进度,然后过段时间再继续跑
    alexzsh
        2
    alexzsh  
       2019-05-18 23:53:22 +08:00
    如果是由于请求过频可以使用 ip 池,但是国外高可用的 ip 池很少,所以还是洋葱路由来的舒服,python 配合 stem 一起使用,附上教程
    https://github.com/Alexzsh/ICOSpider
    CEBBCAT
        3
    CEBBCAT  
       2019-05-19 00:41:40 +08:00
    呃,这不就是被识别到了爬虫么,相关的资料网上很多。你说的八成不是乱码,只是你写的程序没有考虑异常情况。

    基础问题先 Google 吧。
    Hconk
        4
    Hconk  
       2019-05-19 00:45:09 +08:00 via iPhone
    建议搞台服务器同步个 BTC 节点,直接从 RPC 接口拉数据多快。。稳定还不用考虑被防爬
    chuanwu
        5
    chuanwu  
       2019-05-19 06:58:01 +08:00
    btc.com 本身是一个区块链浏览器。自己实现一个好了。
    kiddyu
        6
    kiddyu  
       2019-05-19 10:08:21 +08:00 via iPhone
    访问量高的话可以直接给他们发邮件,提升配额
        7
    yuyang4271  
    OP
       2019-05-19 10:44:37 +08:00
    @CEBBCAT 嗯嗯
    yuyang4271
        8
    yuyang4271  
    OP
       2019-05-19 10:45:06 +08:00
    @alexzsh 谢谢
    yuyang4271
        9
    yuyang4271  
    OP
       2019-05-19 15:48:06 +08:00
    import urllib.request
    import json
    import pyttsx3
    import time
    import requests
    import re
    import pyttsx3
    m_last = ''
    count = 1
    url = 'https://btc.com/'
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36",
    "Accept-Encoding":"gzip, deflate, br"}
    proxies = {
    "https": "https://117.22.42.43:8118",
    "http": "http://119.139.197.247:3128",
    "http": "http://121.69.37.6:9797",
    }
    if __name__ == '__main__':
    engine=pyttsx3.init()
    while True:
    time.sleep(1)
    count = count + 1
    respOnse= requests.get(url,headers=headers,proxies = proxies)
    print(response.text)
    print(type(response.text))
    pattern = re.compile(r'"hash":".{64}","prev_block_ha')
    m = pattern.findall(response.text)
    m = m[0][8:72]
    if (m_last != m):
    m_last = m
    voice=engine.getProperty('voice')
    voices=engine.getProperty('voices')
    for item in voices:
    print(item.id,item.languages)
    engine.setProperty('voice','zh')
    engine.say(m)
    engine.runAndWait()
    if (count >10):
    count = 0
    voice=engine.getProperty('voice')
    voices=engine.getProperty('voices')
    for item in voices:
    print(item.id,item.languages)
    engine.setProperty('voice','zh')
    engine.say(m)
    engine.runAndWait()
    print(m)


    这是代码,能帮我看看哪里出错了吗?谢谢
    tikazyq
        10
    tikazyq  
       2019-05-19 16:10:27 +08:00 via iPhone
    可能对爬虫管理有用,推荐使用下 crawlab,http://github.com/tikazyq/crawlab
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5904 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 02:04 PVG 10:04 LAX 18:04 JFK 21:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86