本帖最后由 24WOK 于 2023-10-8 19:41 编辑
[Python] 纯文本查看 复制代码 import time
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# 配置Chrome选项
opt = Options()
opt.add_experimental_option('detach', True)
opt.add_argument("disable-blink-features=AutomationControlled")
# opt.add_argument("--headless") # 添加无头模式选项(可选)
# 使用Chrome DevTools Protocol来降低被检测风险
opt.add_argument('--disable-blink-features=AutomationControlled')
opt.add_argument('--disable-blink-features=AutomationControlled')
opt.add_experimental_option("excludeSwitches", ["enable-automation"])
opt.add_experimental_option('useAutomationExtension', False)
opt.add_argument('--disable-extensions')
opt.add_argument('--disable-plugins-discovery')
opt.add_argument('--start-maximized')
# 创建Chrome WebDriver实例
web = Chrome(options=opt)
# 修改navigator.webdriver属性
web.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
# 最大化窗口
web.maximize_window()
# 视频+筛选(最多点赞+时间不限)
keyword = input("请输入您要搜索的关键词:")
url = f'https://www.kuaishou.com/search/video?searchKey={keyword}'
web.get(url)
time.sleep(5)
# 先滚动到页面底部
web.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
# 通过class找到所有匹配的元素
elements = web.find_elements(by=By.CLASS_NAME, value='video-info-title')
# 计算爬取的数据数量
count = len(elements)
print(f"爬取的数据数量为:{count}")
# 获取每个元素的文本内容并打印
for element in elements:
text = element.text
print(text)
# 继续进行其他操作或爬取
|