【问题标题】:Bulk HTTP Status requests批量 HTTP 状态请求
【发布时间】:2018-12-22 19:00:55
【问题描述】:

我没有任何编码知识。 我需要运行一个脚本。那必须能够获取站点的 http 状态代码。输出必须像

domain.com 301 domain.com 200

我需要检查大量网站,例如 20 万个网址。所以,它必须同时更快。我有代理来运行它多线程。

非常感谢任何帮助/想法!

【问题讨论】:

    标签: php python cron


    【解决方案1】:

    下面是一个线程和串行的方法。我没有测试它可以支持的并发线程的限制,所以你可能想实现一些代码来限制它。

    from threading import Thread
    import urllib3
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
    
    class Site (Thread):
    
        def __init__(self, thissite):
            Thread.__init__(self)
            self.pool = urllib3.PoolManager()
            self.site = thissite
            print('Started Thread for', self.site)
    
        def run(self):
            try:
                r = self.pool.request('GET', self.site)
                print('Thread Result', self.site, r.status)
            except:
                print('Thread Result', self.site, '404')
    
    sitelist = []
    f = open('D:\\Downloads\\SiteList.txt', 'r')
    for x in f:
        print('[' + x.strip() + ']')
        sitelist.append(x.strip())
    
    http = urllib3.PoolManager()
    
    for site in sitelist:
        Check = Site(site)
        Check.start()
    
    for site in sitelist:
        try:
            r = http.request('GET', site)
            print('Serial Result', site, r.status)
        except:
            print('Serial Result', site, '404')
    

    【讨论】:

    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 2019-09-13
    • 2017-09-07
    • 2016-05-11
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多