第五天

import requests
import re


import time

'''
    url:
        https://www.kuaidaili.com/free/
    Request URL:
        https://www.kuaidaili.com/free/inha/1/
    Request Method: 
        GET
    请求头:
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
'''

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'
}

def get_index(url):
    
    response = requests.get(url, headers=headers)
    # print(response.text)
    return response

def parse_text(text):
    '''
    正则匹配ip和端口
    <tr>
                    <td data-title="IP">117.91.248.174</td>
                    <td data-title="PORT">9999</td>
                    <td data-title="匿名度">高匿名</td>
                    <td data-title="类型">HTTP</td>
                    <td data-title="位置">江苏省扬州市  电信</td>
                    <td data-title="响应速度">2秒</td>
                    <td data-title="最后验证时间">2019-06-17 19:30:59</td>
                </tr>
<td data-title="IP">(.*?)</td>.*?<td data-title="PORT">(.*?)</td>

'''
    ip_list = re.findall('<td data-title="IP">(.*?)</td>.*?<td data-title="PORT">(.*?)</td>', text, re.S)
    for ip_port in ip_list:
        ip = ':'.join(ip_port)
        return ip
        # print(ip)

def ip_test(ip):
    # print('测试的ip: %s' % ip)
    try:
        proxies = {
            'http': ip
        }
        ip_test_url = 'https://www.ipip.net/'

        response = requests.get(ip_test_url, headers=headers, proxies=proxies)

        if response.status_code == 200:
            # print(response.text)
            return ip
    except Exception as e:
        print(e)



if __name__ == '__main__':
    initial_url = 'https://www.kuaidaili.com/free/inha/{}/'
    for line in range(1, 2905):
        ip_url = initial_url.format(line)

        response = get_index(ip_url)

        ip_list = parse_text(response.text)

        ip = ip_test(ip_list)

        if ip:
            with open('ip.txt', 'a') as f:
                f.write(ip+"\n")
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
import time

chrome = webdriver.Chrome()

try:
    wait = WebDriverWait(chrome, 10)
    chrome.get('https://dig.chouti.com/')
    time.sleep(1)
    login_button = wait.until(EC.presence_of_element_located((By.ID, "login_btn")))
    login_button.click()
    time.sleep(1)
    input_phone = wait.until(
        EC.presence_of_element_located((By.NAME, "phone"))
    )
    input_phone.send_keys(17681330406)
    time.sleep(2)
    input_pwd = wait.until(
            EC.presence_of_element_located((By.NAME, "password"))
    )
    input_pwd.send_keys('19970406ZZZ')
    time.sleep(1)
    input_pwd.send_keys(Keys.ENTER)

finally:
    time.sleep(10)
    chrome.close()

 

posted @ 2019-06-17 22:34  Vvvvyy  阅读(247)  评论(0)    收藏  举报