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

建网站需要什么服务器设计制作活动主题

建网站需要什么服务器,设计制作活动主题,网址大全浏览器下载,建立网站的链接结构有哪几种形式?前几天读了一篇CSDN社区的帖子,发现文章内容写得极好,值得借鉴学习。于是我想将那个社区的帖子都爬下来,但是那个社区发布的贴子挺多的,一直往下拉才到2022年5月的发布。于是我就只将5月份之前的爬下来就行,但是帖子是…

        前几天读了一篇CSDN社区的帖子,发现文章内容写得极好,值得借鉴学习。于是我想将那个社区的帖子都爬下来,但是那个社区发布的贴子挺多的,一直往下拉才到2022年5月的发布。于是我就只将5月份之前的爬下来就行,但是帖子是动态加载的,需要用Selenium来模拟用户下拉。但如何比较日期呢?我首先想的是匹配,输入一个字符串为'2022-05-21'的参数,然后抓取每一个最新加载出来的帖子的日期,用来和我的参数进行比较,如果等于的话就不再模拟下拉。但是发现它却继续下拉到四月份的了,原因很简单,5月21号那天没有人发帖子。于是我就只能将参数的类型转换,用日期date类型,这在python中是可以比较大小的。

        Python 的 datetime 模块提供了方便的功能来处理日期和时间,包括日期的比较。下面是一个简单的示例,展示如何比较两个日期。在这个例子中,我们使用 datetime.strptime 方法将字符串转换为 datetime 对象,然后可以直接比较这两个对象。

from datetime import datetime
# 定义两个日期
date1 = datetime.strptime('2022-05-01', '%Y-%m-%d')
date2 = datetime.strptime('2023-05-01', '%Y-%m-%d')# 比较日期
if date1 < date2:print("date1 在 date2 之前")
elif date1 > date2:print("date1 在 date2 之后")
else:print("date1 和 date2 是同一天")

        注意CSDN社区帖子的页面有三个可以拉动的div容器,我们要抓取的帖子在第二个div容器里,这个div容器用body标签是滚动不了的,所以我写了一篇解决body标签无法滚动的文章。以下程序我将抓取的URL地址打印在屏幕上了,如果感兴趣大家可以自行输出到文件或数据库的表中。

完整代码:

import time
from datetime import datetime
from selenium import webdriver
from selenium.webdriver.common.by import Byurl = 'https://bbs.csdn.net/forums/se-learning?category=10001'driver  = webdriver.Edge()
driver.get(url)
# 目标日期
date = datetime.strptime('2022-05-01', '%Y-%m-%d')
def scroll_to_bottom(driver,date):SCROLL_PAUSE_TIME = 1scrollable_div = driver.find_elements(By.CSS_SELECTOR, 'div.__panel')[1]  # 选择第二个可滚动的div容器date1 = datetime.strptime('2022-07-01', '%Y-%m-%d')  # 随便选个日期,比目标日期大就行while date1 > date:driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scrollable_div)divs = driver.find_elements(By.CLASS_NAME, 'tab-list-item')div = divs[-1]time.sleep(SCROLL_PAUSE_TIME)date1 = div.find_element(By.CSS_SELECTOR, 'span.cop-p.time').textdate1 = datetime.strptime(date1, '%Y-%m-%d')  # 数据类型可变,从字符串到日期类型time.sleep(SCROLL_PAUSE_TIME)return divsdivs = scroll_to_bottom(driver,date)
for div in divs:tag = div.find_element(By.CLASS_NAME,'content')url = tag.find_element(By.TAG_NAME,'a').get_attribute('href')print(url)

如果有需要,还可以使用以下方法对Edge进行初始化,这样就不会打开浏览器界面。

 from selenium.webdriver.edge.options import Options as EdgeOptions
# 配置 Edge 浏览器选项,如果不需要打开浏览器界面,可以使用无头模式
edge_options = EdgeOptions()
edge_options.use_chromium = True
edge_options.add_argument('--disable-gpu')
edge_options.add_argument('--headless')  
# 初始化 Edge 浏览器
driver = webdriver.Edge(options=edge_options)

http://www.yayakq.cn/news/941209/

相关文章:

  • 网站建设淘宝客汽车网络营销方式
  • 百度站长平台验证网站网站设计欣赏中国
  • 福州住房和建设局网站南阳网站建设制作
  • 做彩票网站北京高级网站开发
  • 网站建设市场规模网站建设制作服务
  • jsp做的当当网站的文档大庆市城乡建设局网站首页
  • 网站如何做入支付接口专注东莞微信网站建设
  • 贵州网络公司网站建设中油共享平台app
  • 北京城建设计院网站北京专业seo公司
  • 服务器做视频网站吗关于vi设计的网站
  • 吉林分销网站建设国内做网站制作比较
  • 晨光文具网站建设策划书东莞市seo网络推广品牌
  • 做外贸有哪些好的网站网站建设视频技术论坛
  • 做个企业网站大概多少费用联合易网北京网站建设公司怎么样
  • 济南新风向网站建设网站排名突然下降解决
  • 电子商务网站建设规划商务网站建设策划书2000字
  • 装修公司网站怎么做的wordpress 数据备份插件
  • 网站幻灯通栏代码3g开发网站
  • seo短视频网页入口引流网站那些域名可以做后缀做网站
  • 厦门 网站建设 网站开发重庆主城优化网站建设
  • 腾虎广州网站建设购物网站的建立
  • 合肥建设工会网站精准营销数据
  • 电子报 网站开发行业网站建设多少钱
  • 当今做那些网站能致富上海市建设安全协会网站查询系统瘫
  • 网站的建设与颜色搭配wordpress购买插件
  • 深圳全网营销网站建设中文wordpress实例
  • 做网站建设分哪些类型网站建设阿里巴巴
  • ftp工具下载网站源码教程刷关键词排名系统
  • 工信部网站域名查询WordPress 错误记录
  • 深圳网站设计开发校园app开发费用