首页 > 其他分享 >Selenium爬取文章实例

Selenium爬取文章实例

时间:2024-01-23 16:45:50浏览次数:32  
标签:web webdriver Selenium 爬取 实例 sleep time import find

这一篇主要是解决一个问题:浏览器操作下拉才能显示更多的内容

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time

thepaper_dict = {}

web = webdriver.Chrome(service=Service('chromedriver.exe'))
web.implicitly_wait(10)

web.get('https://www.thepaper.cn')
time.sleep(5)
web.maximize_window()
time.sleep(5)
web.find_element(By.XPATH,'//*[@id="navMenu"]/ul/li[5]/a').click()
time.sleep(10)
'''重复下拉,尽可能多的获取内容'''
for i in range(5):
    web.execute_script('window.scrollTo(0,3500)')
    time.sleep(5)

tes_list = web.find_elements(By.CLASS_NAME,"small_toplink__GmZhY")
for i in tes_list:
    title = i.find_element(By.TAG_NAME,'h2').text
    url =i.find_element(By.TAG_NAME,'a').get_attribute('href')
    thepaper_dict.update({title:url})

web.close()

标签:web,webdriver,Selenium,爬取,实例,sleep,time,import,find
From: https://www.cnblogs.com/yigehulu/p/17982757

相关文章

  • 提高爬虫爬取效率的五种方法 海外代理IP介绍
    随着互联网的飞速发展,人们获取数据的方式也在不断更替,如今通过爬虫来获取互联网数据已经成为了主流的数据获取方式。不过目前对于爬虫而言,最核心的问题就是爬取效率。在这个“时间就是生命,效率就是金钱”的时代,爬取效率过低就意味着落后。一般来说,提高爬虫爬取效率的方法主要有以下......
  • innobackupex 还原和备份实例
      InnoDB和非InnoDB文件的备份都是通过拷贝文件来做的,但是实现的方式不同,前者是以page为粒度做的(xtrabackup),后者是cp或者tar命令(innobackupex),xtrabackup 在读取每个page时会校验checksum值,保证数据块是一致的,而 innobackupex 在cpMyISAM文件时已经做了flush......
  • flowable中判断流程实例是否已经结束可通过两种方式实现
    processInstanceId是流程实例id方式一:使用RuntimeServiceRuntimeServiceruntimeService=processEngine.getRuntimeService();StringprocessInstanceId="your_process_instance_id";//替换为实际的流程实例ID//检查流程实例是否已经结束booleanisEnded=runtimeServi......
  • .NET 6 ASP.NET Core API 项目依赖注入一个全局对象,确保全局只实例化一次,调用的都是此
    在.NET6中,实现全局单例服务的方法是通过内置在ASP.NETCore中的依赖注入(DI)容器来完成的。DI容器负责创建和管理服务的实例,包括控制它们的生命周期。对于单例服务,DI容器将确保在应用程序的整个生命周期内只创建服务的一个实例,并且所有对该服务的请求都会返回这个单一的实例。以下......
  • selenium 等待
    1、强制等待(sleep)1fromtimeimportsleep2sleep(5)#强制等待5秒缺点:由于Web加载的速度取决于测试的硬件、网速、服务器的响应时间等因素。如果等待时间太长,容易造成时间浪费;如果等待时间太短,又可能会造成在web还没有加载完所需要定位的element,而出现报错。由于等待时......
  • python测试系列教程——python+Selenium+chrome自动化测试框架
    python测试系列教程——python+Selenium+chrome自动化测试框架需要的环境浏览器(Firefox/Chrome/IE…)PythonSeleniumSeleniumIDE(如果用Firefox)FireBug、FirePath(如果用Firefox)chromedriver、IEDriverServer、phantomjs.exeIDE(Pycharm/Sublime/Eclipse…)1、浏览器建议......
  • selenium自动化测试实战
    selenium自动化测试实战   一、Selenium介绍Selenium是什么?一句话,自动化测试工具。它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面式浏览器,如果你在这些浏览器里面安装一个Selenium的插件,那么便可以方便地实现Web界面的测试。Selenium2,又名WebDriver,它的......
  • 自动化测试——selenium(完结篇)
    自动化测试——selenium(完结篇) 一、元素操作方法方法:1、.send_keys()#输入方法2、.click()#点击方法3、.clear()#清空方法 1234注意:在输入方法之前一定要清空操作!!#导包fromtimeimportsleepfromseleniumimportwebdriver#实例化浏览器......
  • Selenium Grid4.0 - 多台计算机上并行运行
    前言当你希望在多台计算机上并行运行测试?SeleniumGrid可以帮你实现。官方文档原文:https://www.selenium.dev/documentation/grid/getting_started/SeleniumGrid允许通过将客户端发送的命令路由到远程浏览器实例,在远程机器上执行WebDriver脚本。Grid可以做那些事?1.提供一种在多......
  • C++多重返回值:引用参数、结构体和元组实例详解
     在C++中,函数通常只能返回一个值。但是,可以通过引用参数、结构体、元组(C++11及以后版本支持)等方式实现函数具有多个返回值的效果。以下是其中几种方法的实例:1.通过引用参数:#include<iostream>//通过引用参数实现多个返回值voidmultipleReturns(inta,intb,int&......