人工智能吹嘘的神乎其神了,下面有个网页,做了反爬处理,如何获得数据呢?
https://stockanalysis.com/stocks/tsla/financials/balance-sheet/
我要提取特斯拉的资产负债表。
AI得到的代码:
from playwright.sync_api import sync_playwright
import csv
def download_tsla_balance_sheet():
# 初始化 Playwright 并启动浏览器(无头模式,不显示界面)
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
# 访问目标网页,设置较长超时应对网络延迟
target_url = "https://stockanalysis.com/stocks/tsla/financials/balance-sheet/"
page.goto(target_url, timeout=60000) # 超时时间60秒
# 关键:等待表格数据完全加载(通过定位表格核心元素确认)
# 页面表格的CSS选择器为"table#financials-table",等待其出现且内容加载
table_selector = "table#financials-table"
page.wait_for_selector(
selector=table_selector,
state="visible", # 确保元素可见
timeout=30000 # 等待超时30秒
)
# 提取表格数据
table = page.query_selector(table_selector)
rows = table.query_selector_all("tr") # 获取所有行
sheet_data = []
for row in rows:
# 提取每行的表头(th)和单元格(td)文本,去除多余空格
cells = row.query_selector_all("th, td")
row_text = [cell.text_content().strip() for cell in cells]
if row_text: # 过滤空行
sheet_data.append(row_text)
# 保存数据到CSV文件
with open("/tmp/TSLA_Balance_Sheet.csv", "w", newline="", encoding="utf-8") as f:
csv_writer = csv.writer(f)
csv_writer.writerows(sheet_data)
print("数据下载完成!文件已保存为:TSLA_Balance_Sheet.csv")
browser.close() # 关闭浏览器还是无法获得数据,请问,如何战胜AI,用人脑来完成工作?
看上去获取到了,但是完全不知道从哪里获取的。这是一个黑盒魔法
但是咋说呢,他能直接打开浏览器,然后做 OCR,也可以拿到 dom 之后再解析处理
这种不需要登录的公开数据,看上去 ai 是可以搞定的
如果你擅长爬虫,有可能你还能提供给 ai 更多的利器,比我更顺畅
如果你和我一样是小白,那有可能你需要反复的把你的环境,代码等上下文抛给 ai 来处理
那我要开始了,看看我的 AI 能否帮我这个小白

看上去也毫无问题,代码甚至都是使用 requests.get 来实现的,看上去没有反爬啊
补充代码,及注释