python自动刷某视频详解

1.安装
Python官网:https://www.python.org/downloads/windows/
集成开发环境:https://www.jetbrains.com/pycharm/
chrome官网地址:http://chrome.hrbmby.top/browser.html
chorm驱动器地址:http://chromedriver.storage.googleapis.com/index.html
备注:谷歌浏览器版本和驱动器版本保持一致
2.测试
cmd 执行python ,如果出现python版本,则安装正确,如果安装完成,但是没有版本好,需要在环境变量配置下:D:\Program Files\Python;D:\Program Files\Python\Scripts
注意:这是python安装目录,此处只是举个例子

3.python命令执行文件
python filePath

如果报错:
ModuleNotFoundError: No module named ‘selenium’
解决方案:
1.执行pip install selenium
2.安装完成后执行命令:pip show selenium
3.若无版本信息可能安装不成功,继续安装,如果有信息,继续执行python filePath即可

奉上份上部分源码:
def autoStart(proxyIP):
global globalCnt
globalCnt = 0
try:

    proxyUrl = 'http://' + proxyIP

    print("本次打开的代理IP为:{}", proxyUrl)

    # 使用代理ip
    chromeOptions = webdriver.ChromeOptions()

    if isUseProxy:
        chromeOptions.add_argument(
            "--proxy-server=" + proxyUrl)  # 一定要注意,=两边不能有空格

    driver = webdriver.Chrome(executable_path=r'D:\\chromedriver.exe', options=chromeOptions)

    # 随机打开播放放页
    urlLen = len(videoMap) - 1
    print("map长度:" + str(urlLen))

    index = random.randint(0, urlLen)
    videoUrl = str(videoMap[index])

    driver.get(videoUrl)
    time.sleep(2)

    if isVideo:
        print("isVideo:", isVideo)
        # 播放,如果是网页则不需要
        # # 某瓜
        video = driver.find_element_by_xpath(
            "//*[@class='xgplayer-icon']")
        webdriver.ActionChains(driver).move_to_element(video).click(video).perform()

        time.sleep(15)
        print("播放成功-------------------")

    # 自动刷新网页F5功能
    driver.refresh()

    globalCnt += 1

    # 页面最小化
    driver.minimize_window()

    # 关闭页面
    driver.close()
except (BaseException, NoSuchElementException, ValueError) as e:
    # driver.quit()
    print("视频播放失败" + str(e))
    pass


def getIPFrom66():
ip_list = []
headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
    'Host': 'www.66ip.cn',
    'If-None-Match': 'W/"b077743016dc54409ebe6b86ba7a869b"',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36',
}

for number in range(1, 20):
    url = proxyNet + str(number) + ".html"
    ip_list.append(getIPList(url, headers))

return ip_list


def getIPList(url, headers):
webData = requests.get(url, headers=headers)
webData.encoding = 'gb2312'  # 防止返回的数据乱码
soup = BeautifulSoup(webData.text, 'lxml')
ipAllStr = soup.find_all('tr')
IPList = []

for cnt in range(1, len(ipAllStr)):
    ip_info = ipAllStr[cnt]
    tds = ip_info.find_all('td')  # tr标签中获取td标签数据

    ipStr = tds[0].text

    # 判断是否为ip正则表达式
    ip = re.findall(
        "^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$",
        ipStr)

    if not ip:
        continue
    else:
        ip = tds[0].text + ':' + tds[1].text
        IPList.append(ip)

return IPList



def validProxy(proxyIP):
try:
    strList = proxyIP.split(':')
    ip = strList[0]
    port = strList[1]
    telnetlib.Telnet(ip, port, timeout=2)
    print("proxy:{} 可访问", proxyIP)
    return True
except:
    print("proxy:{} 不可访问", proxyIP)
    pass
    return False

isUseProxy = False
isVideo = True

if name == “main”:

global globalCnt
if isUseProxy:
    ipList = getIPFrom66()
    print(ipList)

    for ips in ipList:
        for proxy in ips:
            print("此次执行的代理IP是:{}", proxy)
            isUsable = validProxy(proxy)
            if isUsable:
                autoStart(proxy)
else:
    for i in range(0, 300):
        time.sleep(i / 10)
        autoStart('')

print("最终播放量:" + globalCnt)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值