当前位置: 首页 > news >正文

selenium爬取搜狗网站新闻的小Demo

使用之前请确保自己chrome浏览的版本与chromedriver的版本一致,
Mac确保chromedriver已经放到python的bin目录中
Windows确保chromedriver已经放到python.exe同目录中
当前selenium Version: 3.141.0,4版本后面改为:find_element(By.CLASS_NAME, VALUE)等等

import time
from lxml.html import etree
from selenium import webdriverheaders = {'User-Agent': 'USER-AGENT'	# 填写自己浏览器的user-agent
}def test_requests(url):browser.get(url=f'{url}{send_content}')handle1 = browser.current_window_handle     # 保留当前页面,如果有需要翻页可以使用到# selenium 4版本使用browser.find_element(By.CLASS_NAME, 'news-list')new_list = browser.find_element_by_class_name('news-list')  # 根据clss定位ul(没有id,只能用class,利用id的唯一性是最优解)# selenium 4版本使用browser.find_elements(By.TAG_NAME, 'h3')ul_list = new_list.find_elements_by_tag_name('h3')  # 获取ul中所有H3标签for ul in ul_list:a_elements = ul.find_elements_by_tag_name('a')  # 查询H3标签中所有的a标签for a in a_elements:print(a)time.sleep(1)	# 用睡眠时间等待或者使用IP池a.click()   # 点击每个a标签handles = browser.window_handles[1:]    # 获取浏览器的所有页面,并将第一个总页面切片掉print(len(handles))for ha in handles:browser.switch_to.window(ha)    # 循环进入每一个页面解析需要的内容html = browser.page_sourcetree = etree.HTML(html)title = tree.xpath('/html/body/div[2]/div[2]/div[2]/div/div[1]/h1/text()')print(title)if __name__ == '__main__':first_url = 'https://weixin.sogou.com/weixin?ie=utf8&s_from=input&_sug_=n&_sug_type_=&type=2&query='send_content = '企业预警通·每日风险预警早报2024年8月13日星期二'browser = webdriver.Chrome()test_requests(first_url)browser.close()
http://www.lryc.cn/news/427428.html

相关文章:

  • R 语言学习教程,从入门到精通,R CSV 文件使用(17)
  • 【LLM之Base Model】Weaver论文阅读笔记
  • 泰坦尼克号 - 从灾难中学习机器学习/Titanic - Machine Learning from Disaster(kaggle竞赛)第一集(了解赛题)
  • 使用C++调用PyTorch模型的弯弯绕绕,推荐LibTorch加载,C++处理
  • 实现异形(拱形)轮播图
  • 【软件测试】2024年职业院校技能大赛高职组“软件测试”赛项样题
  • python数组和队列
  • Vision Transformer(ViT)一种将Transformer架构应用于计算机视觉领域的模型
  • 得到任务式 大模型应用开发学习方案
  • 使用el-menu跳转时偶尔会出现路由已经变了,但是页面却显示空白的情况
  • C语言家教记录(七)
  • 【数据结构】——十大排序详解分析及对比
  • 散点图适用于什么数据 thinkcell散点图设置不同颜色
  • 1. windows搭建Kafka教程
  • XSS复现
  • 怎么利用XML发送视频彩信
  • 5G+工业互联网产教融合创新实训室解决方案
  • 象棋布局笔记
  • 百度AI智能云依赖库OpenSSL库和Curl库及jsoncpp库安装
  • 智慧空调离线语音控制方案:NRK3301芯片的深度解析与应用
  • 基础第3关:LangGPT结构化提示词编写实践
  • Nginx系列-负载均衡
  • 中职物联网实训室
  • Image-coloring的部署,在Ubuntu22.04系统下——点动科技
  • Springboot 整合 Swagger3(springdoc-openapi)
  • netty4报错:io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
  • 2022年汽车软件行业产业细分及发展趋势分析
  • 如何通过变更让 PostgreSQL 翻车
  • MySQL表涉及规范
  • 服务器Ubuntu22.04系统 使用dcocker部署安装ollama和搭配open_webui使用