普京宣佈開戰,俄烏戰爭實時新聞採集整理

laical發表於2022-02-24

北京時間2022年2月24號10點50分,俄羅斯總統普京發表講話,宣佈在烏克蘭頓巴斯地區展開一項“特別的軍事行動”,並呼籲烏軍“放下武器”,同時警告烏克蘭政權將對可能發生的流血事件負全部責任,如果烏克蘭局勢受到外界干擾,俄羅斯將立即作出反應。隨後俄羅斯軍隊從多個方向對烏克蘭發起了進攻,重點摧毀和佔領機場、軍事指揮中心、交通要道等目標。

與此同時各種資訊不斷從網路傳來,短時間內難以分辨真實資訊和謠言,這時候爬蟲程式可以實時進行資訊的採集和分析,將焦點資訊進行比對核實,快速形成實時新聞線索,下面demo演示如何同時採集多個網站,可以參考修改後對新聞網站進行採集和整理:

    #! -*- encoding:utf-8 -*-
    import urllib2
    import random
    import httplib
    class HTTPSConnection(httplib.HTTPSConnection):
        def set_tunnel(self, host, port=None, headers=None):
            httplib.HTTPSConnection.set_tunnel(self, host, port, headers)
            if hasattr(self, 'proxy_tunnel'):
                self._tunnel_headers['Proxy-Tunnel'] = self.proxy_tunnel
    class HTTPSHandler(urllib2.HTTPSHandler):
        def https_open(self, req):
            return urllib2.HTTPSHandler.do_open(self, HTTPSConnection, req, context=self._context)
    # 要訪問的目標頁面
    targetUrlList = [
        "
        "
        "
    ]
    # 代理伺服器(產品官網 )
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"
    # 代理驗證資訊
    proxyUser = "username"
    proxyPass = "password"
    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host": proxyHost,
        "port": proxyPort,
        "user": proxyUser,
        "pass": proxyPass,
    }
    # 設定 http和https訪問都是用HTTP代理
    proxies = {
        "http": proxyMeta,
        "https": proxyMeta,
    }
    #  設定IP切換頭
    tunnel = random.randint(1, 10000)
    headers = {"Proxy-Tunnel": str(tunnel)}
    HTTPSConnection.proxy_tunnel = tunnel
    proxy = urllib2.ProxyHandler(proxies)
    opener = urllib2.build_opener(proxy, HTTPSHandler)
    urllib2.install_opener(opener)
    # 訪問三次網站,使用相同的tunnel標誌,均能夠保持相同的外網IP
    for i in range(3):
        for url in targetUrlList:
            r = urllib2.Request(url)
            print(urllib2.urlopen(r).read())


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946368/viewspace-2857677/,如需轉載,請註明出處,否則將追究法律責任。

相關文章