[Python] [爬蟲] 12.批量政府網站的招投標、中標資訊爬取和推送的自動化爬蟲——代理池重建
阿新 • • 發佈:2018-12-20
目錄
1.Intro
檔名:rebuild_proxy.py
模組名:代理池重建
引用庫:
pymongo | random |
自定義引用檔案:proxyPool、configManager
功能:清空代理池,重新爬取代理,提高代理可用性。
2.Source
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' # Author : YSW # Time : 2018/10/8 8:35 # File : rebuild_proxy.py # Version : 1.0 # Describe: 代理池重建 # Update : ''' import pymongo import proxyPool import configManager import random HEADERS = { "User-Agent": random.choice(configManager.headers) } # 本地 mongodb 引數 username = "localhost" password = 27017 # 連線 mongodb client = pymongo.MongoClient(username, password) # 建立資料庫 proxyDB = client['proxyIP_DB'] proxyIP = proxyDB["proxyIP"] proxyP = proxyPool.CrawlProxyIP(HEADERS) class DataBase_Rebuild(object): def delete_all(self): print(u"[*] 開始清理代理池") try: # 清除表內容,不能用drop方法,這樣會將整個表刪除 proxyIP.remove({}) print(u"[+] 清理完成") except: print(u"[-] 清理失敗") def proxy_crawl(self): proxyPool.CrawlProxyIP(HEADERS).crawl_ip2(HEADERS) def disposer(self): self.delete_all() self.proxy_crawl() rebuild = DataBase_Rebuild() rebuild.disposer()