requests - helloworld

抓取静态界面

import requests

headers={
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
}

url = "http://localhost:63343/using_ol/simple/绘圆.html?_ijt=2dqdng2d3ph5j8f3duqpg48oni"

response = requests.get(url, headers= headers)

print(response.text)

抓取动态界面

以 vue 工程为例,使用 requests 抓取,只能获取到 index.html 的内容,无法获取到 vue 组件的内容。

简单说,就是抓取到的代码,body 部分是空的,html 基本没啥内容。

这是因为 vue 项目,界面是动态渲染的,本身就不包含 html 页面。

可以使用如下方法:

  1. 使用工具模拟客户端行为,如 Puppeteer(通过Headless Chrome)或 Selenium。这些工具可以启动浏览器,加载 vue 应用程序,并与之交互以获取动态内容。
  2. 直接分析 javascript 代码以找出内容来源(看懂代码推导可能的界面效果,难度极高)。

下面展示 selenium 的基本用法

from selenium import webdriver


url = "http://localhost:7082/#/gis/4490"

driver = webdriver.Chrome()

driver.get(url)

content = driver.page_source

print(content)


driver.quit()

学习计划

基于这些需求,我们可以定个学习计划:

  1. 解析静态界面:数据抓取:requests、BeautifulSoup;
  2. 解析动态界面:数据交互,模拟登录、点击等操作:Selenium、Puppeteer;
  3. 抓取到的数据:需要保存到数据库;
  4. 发布服务(web):将代码封装成服务,供其他系统调用;

posted on   疯狂的妞妞  阅读(6)  评论(0编辑  收藏  举报

(评论功能已被禁用)
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示