概述
以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 自动刷新博客访问次数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复