import re
from selenium import webdriver

# 配置Chrome选项
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--timeout=10')

# 配置服务参数
service_args = ['--connect-timeout=10']

# 创建浏览器实例
browser = webdriver.Chrome(options=chrome_options, service_args=service_args)


def get_news_date(news):
    '''
    获取新闻发布日期
    '''
    url = 'https://new.qq.com/search?query=' + news
    browser.get(url)
    data = browser.page_source
    p_time = '<span class="c-color-gray2 c-font-normal c-gap-right-xsmall" aria-label=".*?">(.*?)</span>'
    title = re.findall(p_time, data)
    return title

def save_news_date(news_list):
    '''
    保存新闻发布日期到文件
    '''
    with open('news_date1.txt', 'w') as f:
        for news in news_list:
            date_list = get_news_date(news)
            for date in date_list:
                f.write(news + '\t' + date + '\n')
                print(news + ' ' + date + ' 爬取成功')

if __name__ == '__main__':
    news_list = ['李思思', '李玉刚', '陈景润']
    save_news_date(news_list)

代码说明:

  1. 导入必要的库: re 用于正则表达式匹配, selenium 用于控制浏览器.
  2. 配置浏览器: 设置超时时间,创建 Chrome 浏览器实例。
  3. get_news_date(news) 函数:
    • 构建搜索 URL。
    • 使用浏览器实例打开网页。
    • 获取网页源代码。
    • 使用正则表达式提取发布时间。
    • 返回发布时间列表。
  4. save_news_date(news_list) 函数:
    • 遍历新闻列表。
    • 调用 get_news_date 函数获取发布时间。
    • 将新闻标题和发布时间保存到文件。
  5. 主程序:
    • 定义要搜索的新闻列表。
    • 调用 save_news_date 函数开始爬取。

SEO 优化:

  • 标题中包含关键词 “Python 爬虫” 和 “Selenium”。
  • 描述中概括文章内容,并包含相关关键词。
  • 代码中添加注释,解释代码功能,方便搜索引擎理解代码语义。
  • 使用清晰的代码结构和变量命名,提高代码可读性。

注意:

  • 在运行代码之前,请确保已安装 Selenium 库和 Chrome 浏览器驱动程序。
  • 网页结构可能发生变化,导致代码失效,需要根据实际情况调整代码。
  • 请遵守 robots.txt 协议,不要对网站造成过大的负担。
Python爬虫实战:使用Selenium提取腾讯新闻发布时间

原文地址: https://www.cveoy.top/t/topic/T3S 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录