python工具集

selenium

介绍:Selenium 是一种开源工具,用于在 Web 浏览器上执行自动化测试。

背景:对已推送到搜索引擎的url进行下线(用户反馈不想展现)。

版本:python 3.8.9,selenium 4.15.2。

from selenium import webdriver
from selenium.webdriver.common.by import By
import re
import time

query = input('请输入query:')
pnmax = input('请输入最大的页数:')
pnmax = int(pnmax) * 10
pattern = input('请输入待匹配url决定性的标识,如 openNotice:')

driver = webdriver.Firefox()

# 待下线的url保存在文件中
with open('/Users/sjm/offlineurl', 'w') as f:
    # 遍历所有的页面
    for pn in range(0, pnmax, 10):
        # 通过百度搜索试验出是否能用这种简略的方式返回结果。其中 site 可以限定返回指定域名的搜索结果
        baseurl = 'https://www.baidu.com/s?wd=' + query + ' site:aiqicha.baidu.com&pn=' + str(pn)
        driver.get(baseurl)
        # 参考xpath语法
        elements = driver.find_elements(By.XPATH, "//div[@class='result c-container xpath-log new-pmd']")
        for each in elements:
            # mu就是链接
            mu = each.get_attribute("mu")
            match = re.search(pattern, mu)
            if match:
                f.write(mu)
        # 防止过快的请求
        time.sleep((pn + 10) / 10)
driver.close()
posted @ 2023-11-26 09:47  sjmuvx  阅读(10)  评论(0编辑  收藏  举报