14
2021
12

Proxy (Selenium)

# coding=utf-8
try:
  import xlsxwriter
except:
  !pip install xlsxwriter
  !pip install selenium
  !apt-get update 
  !apt install chromium-chromedriver
  !pip install opencc-python-reimplemented;
  import xlsxwriter

import os
from google.colab import drive
from google.colab import files
from google.colab import auth
auth.authenticate_user()

from oauth2client.client import GoogleCredentials


import requests
import lxml
from bs4 import BeautifulSoup
import time
import sqlite3
import pandas as pd
import re
import math
import shutil
import xlrd
import openpyxl
from pathlib import Path

import random

from opencc import OpenCC
from functools import reduce

from operator import concat


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException,NoSuchElementException,NoSuchFrameException

drive.mount('/content/drive', force_remount=False)

path = "/content/drive/My Drive/"

url = "https://www.freeproxylists.net/zh/"

cc = OpenCC('s2t'


chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
#chrome_options.add_argument('--proxy-server=http://%s' % PROXY)
wd = webdriver.Chrome('chromedriver',chrome_options=chrome_options)

wd.implicitly_wait(10)

try:
  wd.get(url)
  content = wd.page_source

except TimeoutException as e:
  print(e)

except NoSuchFrameException as e:
  print(e)

finally:

  wd.quit()


text = "".join(content.split("\n"))
All_Information = list(map(lambda x: re.split("<\/a><\/td><td.*?>|<\/td><td><img.*?>|<\/td><td.*?>",cc.convert(x))[:-1], re.findall("\d+\.\d+\.\d+\.\d+<.*?<div class",text)))

header = ["IP地址:端口""類型""匿名性""國家""地區""市""可用性"]
Proxy = list(map(lambda x: reduce(concat,[[x[0]+":"+x[1]],x[2:]]),All_Information))

file_name = "{}free_proxy_list_50.xlsx".format(path)
workbook = xlsxwriter.Workbook(file_name) 
worksheet = workbook.add_worksheet('sheet1')

worksheet.write_row(0,0,header)

for i in range(len(Proxy)):
  worksheet.write_row((i+1),0,Proxy[i])

workbook.close()

df = pd.read_excel("{}free_proxy_list_50.xlsx".format(path),index_col=None, header=None

print(df)



« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。