我是靠谱客的博主 单纯缘分,最近开发中收集的这篇文章主要介绍利用python+selenium 自动刷新博客访问次数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

       以csdn博客为例,目前默认刷新第一页的所有博客文章,可根据css定位规则进行具体修改,例如只访问置顶博客,或者进行连续翻页查询刷新所有博客文章。

      本文所采用的两种方式:
            1.前台模式:打开浏览器,可以直观看到刷新浏览器刷新,函数功能以_f结尾。
            2.后台模式:后台执行,不可见,函数功能以_b结尾。

# -*-coding:GBK -*-
from selenium import webdriver
from time import sleep


def init_chrome_f():
    browser = webdriver.Chrome()
    sleep(3)
    print("init chrome by foreground mode !")
    return browser


def init_chrome_b():
    option = webdriver.ChromeOptions()
    option.add_argument("headless")
    browser = webdriver.Chrome(options=option)
    sleep(3)
    print("init chrome by background mode !")
    return browser


def refresh_blog(browser, loop_count):
    # 获取当前打开的所有句柄
    all_handles = browser.window_handles
    # 循环刷新已经打开的句柄
    for loop in range(loop_count):
        print("loop_count: ", loop+1)
        for tmp_handle in all_handles:
            browser.switch_to.window(tmp_handle)
            browser.refresh()
            print("refreshing handle :", tmp_handle)
            sleep(3)


def visit_blog_f(browser, link_list, loop_count=100):
    for index in range(len(link_list)):
        # 获取文本内容
        # out_html = ret[index].get_attribute('outerHTML')
        # 点击打开博客链接
        link_list[index].click()
        sleep(5)
        # link = tmp_link.get_attribute("href")
        # print("link_href:", link)
    refresh_blog(browser, loop_count)


def visit_blog_b(browser, link_list, loop_count=100):
    # 以后台的方式访问博客
    for index in link_list:
        tmp_url = index.get_attribute("href")
        js = f"window.open('{tmp_url}');"
        browser.execute_script(js)
        print("js open tmp_link :", tmp_url)
        sleep(3)
    refresh_blog(browser, loop_count)


def get_all_blog_links(browser, blog_url):
    # 在当前浏览器中访问blog_url
    browser.get(blog_url)
    sleep(3)
    link_list = browser.find_elements_by_css_selector(r".article-list>.article-item-box>h4>a[href]")
    # print(ret)
    return link_list


def main_f():
    blog_url = r"https://blog.csdn.net/zhang1308299607"
    browser = init_chrome_f()
    link_list = get_all_blog_links(browser, blog_url)
    visit_blog_f(browser, link_list, loop_count=100)
    browser.quit()


def main_b():
    blog_url = r"https://blog.csdn.net/zhang1308299607"
    browser = init_chrome_b()
    link_list = get_all_blog_links(browser, blog_url)
    visit_blog_b(browser, link_list, loop_count=100)
    browser.quit()


if __name__ == "__main__":
    # main_f()
    main_b()
    # input("please press <enter> to exit!")

 

最后

以上就是单纯缘分为你收集整理的利用python+selenium 自动刷新博客访问次数的全部内容,希望文章能够帮你解决利用python+selenium 自动刷新博客访问次数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部