抓取特定网页内容并返回具体结果
多次调试并成功 科技就是生产力(乐)(存档备用)
考虑了登录问题
可以根据其他网页元素进行具体调整(感恩)
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Edge()
# 打开网页
driver.get("https://填写.cn/")
time.sleep(10) # 根据实际情况调整等待时间
# 需要搜索时,返回到目标页面进行搜索
driver.get("https://填写list")
# 找到搜索框元素并输入搜索内容
search_box = driver.find_element(By.CSS_SELECTOR, "input[placeholder='限制输入300字符,不支持单个字、字母或数字输入']")
search_box.click()
search_box.clear()
search_box.send_keys("关键词")
# 定位到按钮元素并点击
button = driver.find_element(By.CLASS_NAME, "el-button.el-button--primary.el-button--small")
button.click()
# 等待页面加载完成
time.sleep(10) # 根据实际情况调整等待时间
# 等待搜索结果加载完成
wait = WebDriverWait(driver, 20)
result_element = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "total")))
# 获取搜索结果的文本内容
result_text = result_element.text
# 输出结果
print(result_text)
# 关闭浏览器
driver.quit()
更新-批量复制关键词搜索并返回结果-2023-8-22
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import pyperclip
clipboard_data = pyperclip.paste()
delimiter = "\n"
driver = webdriver.Edge()
driver.get("https://链接.cn/")
time.sleep(6) # 根据实际情况调整进入网页的等待时间
driver.get("https://链接list")
keywords = clipboard_data.split(delimiter)
results = [] # 用于保存结果
for keyword in keywords:
search_box = driver.find_element(By.CSS_SELECTOR, "input[placeholder='限制输入300字符,不支持单个字、字母或数字输入']")
search_box.click()
search_box.clear()
search_box.send_keys(keyword)
button = driver.find_element(By.CLASS_NAME, "el-button.el-button--primary.el-button--small")
button.click()
time.sleep(1)
wait = WebDriverWait(driver, 3) # 时间可调整
result_element = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "total")))
result_text = result_element.text
result = f"{result_text}*{keyword}" # 可调整连接方式
results.append(result.strip()) # 移除结尾的换行符和空格
with open('D:\\结果.txt', 'w') as f:
for result in results:
f.write(result + '\n')