开发AI项目往往需要搜集网上的信息,下面介绍一些比较标志性的,平时会很容易需要用到的搜集信息采集数据(爬虫)的方法,一线实战-全部真实可用:
1, Selenium Stealth
“Selenium Stealth” 是一个用于 Selenium 框架的工具或技术,旨在帮助用户更隐秘地自动化浏览器操作,以避免被网站检测到并阻止。在网络爬取、自动化测试和其他需要模拟用户操作的情况下,有时候需要避免被网站检测到使用自动化工具而采取措施限制访问。
Selenium Stealth自动化打开浏览器,读取文章主要部分,AI进行总结,参考代码:
GitHub - hassancs91/AI-Content-Ideas-Generator-Prototype
通过在 GitHub 上创建帐户来为 hassancs91/AI-Content-Ideas-Generator-Prototype 开发做出贡献。
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option("useAutomationExtension", False)
driver = webdriver.Chrome(options=chrome_options)
stealth(
driver,
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Win32",
webgl_vendor="Intel Inc.",
renderer="Intel Iris OpenGL Engine",
fix_hairline=True,
)
def get_article_from_url(url):
try:
# Scrape the web page for content using newspaper
article = newspaper.Article(url)
# Download the article's content with a timeout of 10 seconds
article.download()
# Check if the download was successful before parsing the article
if article.download_state == 2:
article.parse()
# Get the main text content of the article
article_text = article.text
return article_text
else:
print("Error: Unable to download article from URL:", url)
return None
except Exception as e:
print("An error occurred while processing the URL:", url)
print(str(e))
return None
–
2, Playwright
Playwright 是由微软开发的开源的自动化测试工具,专为现代Web应用设计。它支持多种浏览器(Chromium、Firefox、WebKit)和编程语言(Python、JavaScript、Java等),提供跨平台兼容性(Windows、macOS、Linux)
例如:Playwright RPA 自动化打开浏览器,打开boss直聘,执行动作,获得信息推送给 gpt Assistants api ,自动化获得见解和操作处理。利用gpt的 assistant api 可以作为“慢思考”,深度思考和自动分析,获得更好的分析结果。
参考代码:
GitHub - Frrrrrrrrank/auto_job__find__chatgpt__rpa: This is a tool used to automatically generate a...
This is a tool used to automatically generate a cover letter using chatgpt based on your resume and job description and send messages to bosses in China.
driver = finding_jobs.get_driver()
# 更改下拉列表选项
finding_jobs.select_dropdown_option(driver, label)
# 调用 finding_jobs.py 中的函数来获取描述
job_description = finding_jobs.get_job_description_by_index(job_index)
if job_description:
element = driver.find_element(By.CSS_SELECTOR, '.op-btn.op-btn-chat').text
print(element)
if element == '立即沟通':
# 发送描述到聊天并打印响应
if should_use_langchain():
response = generate_letter(vectorstore, job_description)
else:
response = chat(job_description, assistant_id)
print(response)
time.sleep(1)
# 点击沟通按钮
contact_button = driver.find_element(By.XPATH, "//*[@id='wrap']/div[2]/div[2]/div/div/div[2]/div/div[1]/div[2]/a[2]")
contact_button.click()
# 等待回复框出现
xpath_locator_chat_box = "//*[@id='chat-input']"
chat_box = WebDriverWait(driver, 50).until(
EC.presence_of_element_located((By.XPATH, xpath_locator_chat_box))
)
# 调用函数发送响应
send_response_and_go_back(driver, response)
RPA调动浏览器,获得信息和操作动作。
file = client.files.create(file=open("my_cover.pdf", "rb"),
purpose='assistants')
assistant = client.beta.assistants.create(
# Getting assistant prompt from "prompts.py" file, edit on left panel if you want to change the prompt
instructions=assistant_instructions,
model="gpt-3.5-turbo-1106",
tools=[
{
"type": "retrieval" # This adds the knowledge base as a tool
},
],
file_ids=[file.id])
利用gpt的 “retrieval”, 向量数据库存储和索引搜索内容。
client.beta.threads.messages.create(
thread_id=thread_id,
role="user",
content=user_input
)
# Start the Assistant Run
run = client.beta.threads.runs.create(
thread_id=thread_id,
assistant_id=assistant_id
)
Playwright 利用电脑自身的浏览器,可以防止被block封掉,参考:
GitHub - dingyufei615/ai-goofish-monitor: 一个基于 Playwright 和AI过滤分析的闲鱼多任务实时监控与智能分析工具,配备了功能完善的...
一个基于 Playwright 和AI过滤分析的闲鱼多任务实时监控与智能分析工具,配备了功能完善的 Web 管理界面。
from playwright.async_api import async_playwright
# 定义保存登录状态的文件路径
STATE_FILE = "xianyu_state.json"
LOGIN_IS_EDGE = os.getenv("LOGIN_IS_EDGE", "false").lower() == "true"
RUNNING_IN_DOCKER = os.getenv("RUNNING_IN_DOCKER", "false").lower() == "true"
async def main():
async with async_playwright() as p:
# 启动一个非无头浏览器,这样你才能看到界面并操作
# 'channel="msedge"' 指定使用 Edge 浏览器
if LOGIN_IS_EDGE:
browser = await p.chromium.launch(headless=False, channel="msedge")
else:
# Docker环境内,使用Playwright自带的chromium;本地环境,使用系统安装的Chrome
if RUNNING_IN_DOCKER:
browser = await p.chromium.launch(headless=False)
else:
browser = await p.chromium.launch(headless=False, channel="chrome")
context = await browser.new_context()
page = await context.new_page()
# 打开闲鱼首页,通常会自动跳转到登录页面或显示登录入口
await page.goto("https://www.goofish.com/")
3 , gpt-crawler
GitHub - BuilderIO/gpt-crawler: Crawl a site to generate knowledge files to create...
Crawl a site to generate knowledge files to create your own custom GPT from a URL
gpt-crawler就是一键把整个网站数据下载下来:自动化打开浏览器,深度爬虫,把文章都爬下来,获得文章数据,得到的是json数据:
[ { "title": "Creating a Private Model - Builder.io", "url": "https://www.builder.io/c/docs/private-models", "html": "..." }, { "title": "Integrating Sections - Builder.io", "url": "https://www.builder.io/c/docs/integrate-section-building", "html": "..." }, ...]
一个命令执行则可以把网站内容多页面自动爬下来,这对于AI开发来说往往是非常有用。
还有一个类似的: GitHub - mendableai/firecrawl: 🔥 Turn entire websites into LLM-ready markdown or structured data. Scrape, crawl and extract with a single API.
类似的:Scrapegraph-ai
功能: 使用LLM和直接图形逻辑创建网站和本地文档的抓取流程。
特点: 自动执行数据抓取任务,用户只需指定信息类型。
GitHub: github.com/VinciGit00/…
4, laravel-site-search
laravel包,php深度爬虫,全站信息爬取,导入到meilisearch,可以马上搜索使用
GitHub - spatie/laravel-site-search: Create a full-text search index by crawling your...
Create a full-text search index by crawling your site
当向量数据库不适合的时候,可以试试用搜索的方法得到相关内容,同时提供了一键深度多页面整站爬下来,那么就很多时候适合AI开发使用。
5, RapidAPI
RapidAPI 是一个全球化的 API 集成与管理平台 ,致力于简化开发者对第三方 API 的发现、测试和调用流程。 覆盖全球超 400 万开发者 ,提供社区支持与商业化 API 交易市场。
其他类似的数据市场:
apify apify.com/
Apify是一个用于网络爬取和数据提取的云平台,它为各种网络爬取、爬行和数据提取用例提供了一个超过一千个现成应用程序的生态系统,这些应用程序被称为Actors。
bright data brightdata.com/
- 代理网络基础设施
- 覆盖全球:拥有7200万+住宅/数据中心/移动代理IP,覆盖195+国家,支持按需定位至城市级。
- 智能切换:动态IP轮换突破反爬限制(如IP封锁、验证码),成功率近100%。
- 自动化数据采集工具
- 亮数据浏览器:集成代理与自动解锁功能,兼容Puppeteer/Playwright/Selenium,支持JavaScript渲染页面的抓取。
- Web Unlocker(网络解锁器):自动处理验证码、指纹管理与重试逻辑,按成功请求付费。
- SERP API:专用于搜索引擎结果页(Google/Bing等)的结构化数据采集。
- 即用数据集与IDE
- 预构建数据集:涵盖电商(如亚马逊价格)、社交媒体、金融等领域,可直接购买使用。
- 可视化爬虫IDE:低代码操作,支持模板化任务配置,降低技术门槛
6。firecrawl 和 crawl4ai
功能: 提取语义标记的数据块为JSON格式,提供干净的HTML和Markdown文件。
用途: 适用于RAG(检索增强生成)、微调以及AI聊天机器人的开发。
GitHub - mendableai/firecrawl: 🔥 Turn entire websites into LLM-ready markdown or...
🔥 Turn entire websites into LLM-ready markdown or structured data. Scrape, crawl and extract with a single API.
GitHub - unclecode/crawl4ai: 🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler...
🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Don't be shy, join here: discord.gg/jP8KfhDhyN
将整个网站转化为适合大语言模型处理的Markdown或结构化数据。通过单一API实现爬取、抓取、搜索和内容提取。
社交数据API
tikhub.io tikhub.io/ 集合国内外各种社交媒体的数据采集api
通过 TikHub.io, 可以有效地跟踪参与度和品牌绩效。小红书和 YouTube API 的详细数据使我能够实时调整我们的活动,使我们的营销工作更加有效和 ROI 驱动。
scraperapi
www.scraperapi.com/
最通用的,最能够搞定困难抓取的,开发者喜爱的爬虫工具:
使用scraperapi的网页抓取 API 从任何公共网站收集数据,无需担心代理、浏览器或验证码处理。
以更快的速度大规模获取更多数据。使用 ScraperAPI,即使是最难抓取的网站。节省开发复杂抓取算法的时间和资源-将 抓取 API 连接到您的内部 Web 抓取器,让您的团队专注于利用高质量的 Web 数据。
类似的:穿云API(cloudbypass.com)
抓取微信数据:
tikhub.io是不错的,tikhub.io/
GitHub - wechat-article/wechat-article-exporter: 一个在线的微信公众号文章批量下载工具,支持下载阅读量与评论数据,支持私有化部署,通过浏览器进行使用,无需进行安装
GitHub - qiye45/wechatDownload: 微信公众号文章批量下载工具,支持评论、合集下载,支持保存html/mhtml/md/pdf/docx...
微信公众号文章批量下载工具,支持评论、合集下载,支持保存html/mhtml/md/pdf/docx文件,保存文章内图片、视频、音频文件
GitHub - cooderl/wewe-rss: 🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)
🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)
抓取小红书数据:
tikhub.io是不错的,tikhub.io/
GitHub - JoeanAmier/XHS-Downloader: 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书无水印作品文件 下载内容
GitHub - cv-cat/Spider_XHS: 小红书爬虫数据采集,小红书全域运营解决方案 下载列表
浏览器插件
Easy Scraper 插件
Easy Scraper 是一款轻量级网页数据抓取工具,支持可视化点选操作,无需编程即可提取表格、列表等结构化数据。提供浏览器扩展和桌面版,支持导出CSV/Excel/JSON格式,内置翻页采集和定时任务功能,适合电商、舆情等非技术用户快速获取公开网页信息。
Web Scraper
Web Scraper 是一款浏览器扩展(支持 Chrome/Edge),用于可视化爬取网页数据。通过点选元素即可提取文本、链接或表格,支持翻页、滚动加载和 JSON/CSV 导出。无需代码,适合新手快速采集公开数据,常用于价格监控、竞品分析等轻量级爬虫需求。
外国生态的数据:
twitterapi.io - Twitter data, 96% cheaper. No auth, no limits, just API.
Transform social insights into business success. Enterprise-grade Twitter data API that powers your decision-making with real-time social intelligence.
跨境电商数据采集:shopcaiji
www.shopcaiji.com/
可以被采集的系统
SAAS建站:【Shopify】【Shoplazza】【Shopline】【XShoppy】【Shopyy】【Shopbase】
【Wordpress】【Opencart】开源建站:
平台电商:【Amazon】【AliExpress)
热门文章数据api /今日热点API:
api-hot.imsyy.top/bilibili抱歉,我们无法为此网页生成预览,因为找不到以下 oEmbed / OpenGraph 标签:image,title
{
"code": 200,
"count": 51,
"routes": [
{
"name": "36kr",
"path": "/36kr"
},
{
"name": "51cto",
"path": "/51cto"
},
{
"name": "52pojie",
"path": "/52pojie"
},
{
"name": "acfun",
"path": "/acfun"
},
{
"name": "baidu",
"path": "/baidu"
},
{
"name": "bilibili",
"path": "/bilibili"
},
{
"name": "coolapk",
"path": "/coolapk"
},
{
"name": "csdn",
"path": "/csdn"
},
{
"name": "dgtle",
"path": "/dgtle"
},
{
"name": "douban-group",
"path": "/douban-group"
},
{
"name": "douban-movie",
"path": "/douban-movie"
},
{
"name": "douyin",
"path": "/douyin"
},
{
"name": "earthquake",
"path": "/earthquake"
},
{
"name": "geekpark",
"path": "/geekpark"
},
{
"name": "genshin",
"path": "/genshin"
},
{
"name": "guokr",
"path": "/guokr"
},
{
"name": "hellogithub",
"path": "/hellogithub"
},
{
"name": "history",
"path": "/history"
},
{
"name": "honkai",
"path": "/honkai"
},
{
"name": "hostloc",
"path": "/hostloc"
},
{
"name": "hupu",
"path": "/hupu"
},
{
"name": "huxiu",
"path": "/huxiu"
},
{
"name": "ifanr",
"path": "/ifanr"
},
{
"name": "ithome-xijiayi",
"path": "/ithome-xijiayi"
},
{
"name": "ithome",
"path": "/ithome"
},
{
"name": "jianshu",
"path": "/jianshu"
},
{
"name": "juejin",
"path": "/juejin"
},
{
"name": "kuaishou",
"path": "/kuaishou"
},
{
"name": "lol",
"path": "/lol"
},
{
"name": "miyoushe",
"path": "/miyoushe"
},
{
"name": "netease-news",
"path": "/netease-news"
},
{
"name": "ngabbs",
"path": "/ngabbs"
},
{
"name": "nodeseek",
"path": "/nodeseek"
},
{
"name": "nytimes",
"path": "/nytimes"
},
{
"name": "qq-news",
"path": "/qq-news"
},
{
"name": "sina-news",
"path": "/sina-news"
},
{
"name": "sina",
"path": "/sina"
},
{
"name": "smzdm",
"path": "/smzdm"
},
{
"name": "sspai",
"path": "/sspai"
},
{
"name": "starrail",
"path": "/starrail"
},
{
"name": "thepaper",
"path": "/thepaper"
},
{
"name": "tieba",
"path": "/tieba"
},
{
"name": "toutiao",
"path": "/toutiao"
},
{
"name": "v2ex",
"path": "/v2ex"
},
{
"name": "weatheralarm",
"path": "/weatheralarm"
},
{
"name": "weibo",
"path": "/weibo"
},
{
"name": "weread",
"path": "/weread"
},
{
"name": "xueqiu",
"path": "/xueqiu"
},
{
"name": "yystv",
"path": "/yystv"
},
{
"name": "zhihu-daily",
"path": "/zhihu-daily"
},
{
"name": "zhihu",
"path": "/zhihu"
}
]
}
采集内容提取
Jina AI Reader API
Reader API
用法:
https://r.jina.ai/https://stackoverflow.com/questions/45802404/failed-to-execute-setattribute-on-element-is-not-a-valid-attribute-name
newspaper3k 是一个流行的 Python 库,用于从新闻网站和文章中提取内容,如文章文本、标题、作者、发布日期、图片等。这个库可以让用户轻松地从在线新闻源中提取信息,方便进行数据分析、自然语言处理等任务。
搜索引擎数据API:
serpapi
Tavily Search
weita 秘塔搜索 API