Kimi仅用5秒钟就帮我抓取了5页文章素材

简介: Kimi仅用5秒钟就帮我抓取了5页文章素材

熟悉我的宝子,都知道我现在开发各类RPA机器人,目前已经投入使用的机器有15款,有需要的小伙伴可以私聊我。

周末在家唱着歌儿,搬着砖的时候,突然一个弹框提醒提示我要进行生财打卡了。原来是我报名了生财有术的AI编程大航海了呀。

其中一个很重要的任务就是通过大模型,让大模型编写代码爬取公众号的文章。

1. 编写提示词

你是一个资深爬虫开发工程师,擅长使用Python语言编写爬虫程序,现在有如下任务:
写一个爬虫程序,按下面的要求在我的 windows 电脑上帮我抓取微信公众号文章。
使用 python3 和最新版的 selenium
目标网站:https://weixin.sogou.com/
输入关键字[ RPA ],点击[ 搜文章 ]按钮
爬取内容: 爬取标题、摘要、链接、来源
爬取后的内容保存到Excel文件中,Excel文件命名为AI_微信_时间
爬取前5页,每爬完1页休眠5s
请首先解析目标网站,然后给我完整可运行的程序,让我看到浏览器中操作的过程,并指导我安装程序依赖的所有库。
你可以先执行步骤 2 和步骤 3 了解网页的结构,然后再生成代码。

2. Kimi快速生成代码中

3.生成代码

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from openpyxl import Workbook
# 配置WebDriver
chrome_drive_path = r'E:\develop\chromedriver-win64\chromedriver.exe'
# 设置ChromeDrive服务
service = Service(chrome_drive_path)
# 初始化WebDriver
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
# 目标网站
url = "https://weixin.sogou.com/"
# 爬取前5页
pages_to_scrape = 5
# 打开目标网站
driver.get(url)
# 等待页面加载
time.sleep(2)
# 找到搜索框并输入关键字
search_box = driver.find_element(By.CSS_SELECTOR, "input.sec-input")
search_box.send_keys("RPA")
# 找到搜索按钮并点击
search_button = driver.find_element(By.XPATH, "//input[@uigs=\"search_article\"]")
search_button.click()
# 创建Excel工作簿
wb = Workbook()
ws = wb.active
ws.append(["标题", "摘要", "链接", "来源"])
# 开始爬取
for page in range(pages_to_scrape):
    # 等待页面加载
    time.sleep(5)
    # 找到所有文章的容器
    articles = driver.find_elements(By.XPATH, "//ul[@class=\"news-list\"]/li")
    for article in articles:
        # 爬取标题
        title = article.find_element(By.XPATH, ".//div/h3").text
        # 爬取摘要
        summary = article.find_element(By.XPATH, ".//div/p").text
        # 爬取链接
        link = article.find_element(By.XPATH, ".//div/h3/a").get_attribute("href")
        # 爬取来源
        source = article.find_element(By.XPATH, ".//div/div").text
        # 将爬取的数据写入Excel
        ws.append([title, summary, link, source])
    # 如果不是最后一页,点击下一页
    if page < pages_to_scrape - 1:
        next_page_button = driver.find_element(By.XPATH, ".//a[@id=\"sogou_next\"]")
        next_page_button.click()
        time.sleep(5)  # 休眠5秒
# 保存Excel文件
current_time = time.strftime("%Y%m%d_%H%M%S")
file_name = f"RPA_微信_{current_time}.xlsx"
wb.save(file_name)
# 关闭浏览器
driver.quit()
print(f"爬取完成,数据已保存至 {file_name}")

4. 代码运行效果



相关文章
|
2月前
|
Java 计算机视觉 Python
我的自描外挂制作日志——FPS类游戏的自瞄【优化改进1】
我的自描外挂制作日志——FPS类游戏的自瞄【优化改进1】
72 1
|
9天前
|
小程序 API
技术心得记录:微信小程序之图片频繁变化,几秒之后输出结果(适用于抽奖)
技术心得记录:微信小程序之图片频繁变化,几秒之后输出结果(适用于抽奖)
10 0
|
2月前
|
监控 前端开发 JavaScript
网站统计网页浏览量的一般技术介绍
网站统计网页浏览量的一般技术介绍
|
2月前
|
Java 计算机视觉
我的自描外挂制作日志——FPS类游戏的自瞄【优化改进2】
我的自描外挂制作日志——FPS类游戏的自瞄【优化改进2】
42 0
|
12月前
|
移动开发 小程序 JavaScript
微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新)
微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新)
176 1
|
11月前
|
存储 人工智能 前端开发
前端合成海报并保存到本地
前端合成海报并保存到本地
63 0
|
10月前
|
JSON 数据格式 Python
桌面壁纸实时展示粉丝数
桌面壁纸实时展示粉丝数
|
前端开发
给大家科普一泛二级程序前端几十套模板随机切换
​ 今天给大家分享几个小旋风蜘蛛池的泛二级程序网站站群模板,是无备案 新域名都可以用 老域名备案域名效果更好, 文章自动配图 关键词自动配图 泛二级程序模板是一款专门为了要从事相关工程方面工作的
100 0
|
存储 数据可视化 网络安全
花几天时间肝了一个在线制作词云图网站
最近辰哥也是在利用空闲时间做了一个在线制作词云网站(后面会慢慢补上其他的图表),废话不多说,先看一下演示视频
277 0
花几天时间肝了一个在线制作词云图网站
|
JSON 数据可视化 关系型数据库
手把手教你爬取PC端『某酷视频』个人历史播放数据,并可视化展示
今天教大家抓到数据包之后(需要令牌token才能获取数据),怎么编写python代码去构造数据包,这里以获取『某酷视频』为例,获取个人历史播放视频数据,并进行可视化数据展示
306 0

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    27
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    27
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    27
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    28
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    25
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    31
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    22
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    21
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    21
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    20