当前位置: 首页 > news >正文

102302110高悦作业4

作业①:要求:使用Selenium框架+ MySQL数据库存储技术路线爬取“沪深A股”、“上证A股”、“深证A股”3个板块的股票数据信息。
1.代码以及实践过程
1.1 分析页面
首先获取对应xpath(整个表格、对应每行每个股票、对应每列)

image

image

通过分析,获得了核心的定位对象
股票数据表格://[@id="mainc"]/div/div/div[4]/table
数据行://
[@id="mainc"]/div/div/div[4]/table/tbody/tr
数据列://*[@id="mainc"]/div/div/div[4]/table/tbody/tr/td[索引],其中根据索引的不同可以匹配到不同的信息
1.2 使用Selenium框架
进行浏览器初始化

def __init__(self):self.driver_path = r"D:\悦读书\数据采集\chromedriver.exe"self.options = webdriver.ChromeOptions()self.service = Service(executable_path=self.driver_path)self.driver = webdriver.Chrome(service=self.service, options=self.options)self.wait = WebDriverWait(self.driver, 15)

进入东方财富相应页面之后,留出20秒时间给到需要人工操作的地方,如可能出现的广告以及滑块验证

def crawl_single_plate(self, plate_info):plate_name, plate_url = plate_infoself.driver.get(plate_url)time.sleep(10)

进行对应数据的定位、爬取

def get_stock_data(self, plate_name):try:table = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="mainc"]/div/div/div[4]/table')))rows = table.find_elements(By.XPATH, './/tbody/tr')valid_rows = [row for row in rows if len(row.text.strip()) > 0]stock_list = []for row in valid_rows[:20]:cols = row.find_elements(By.TAG_NAME, "td")if len(cols) >= 14:stock = {"序号": cols[0].text.strip(),"股票代码": cols[1].text.strip(),"股票名称": cols[2].text.strip(),"最新价": cols[4].text.strip(),"涨跌幅": cols[5].text.strip(),"涨跌额": cols[6].text.strip(),"成交量": cols[7].text.strip(),"成交额": cols[8].text.strip(),"振幅": cols[9].text.strip(),"最高": cols[10].text.strip(),"最低": cols[11].text.strip(),"今开": cols[12].text.strip(),"昨收": cols[13].text.strip(),"所属板块": plate_name}stock_list.append(stock)return stock_listexcept Exception as e:return []
最终结果(在mysql中查看

image

gitee链接:https://gitee.com/augtrqv/shoren/blob/master/作业4/第一题.py
2.心得体会
本来想直接复制上次使用scrapy的核心代码进行修改,但是发现两次的要求不同,上次是通过json进行爬取网页的数据,而这次是使用xpath来进行定位。而另外使用Selenium框架来模拟人工使用浏览器,其中反爬验证本来想用代码进行操作,但是感觉随机性太高,最后还是留给了自己操作。

作业②:使用Selenium框架+MySQL爬取中国mooc网课程资源信息(课程号、课程名称、学校名称、主讲教师、团队成员、参加人数、课程进度、课程简介)
1.代码以及实践过程
课程名称
image

学校名称
image

主讲教师
image

课程进度
image

参加人数
image

课程简介
image

终端输出
image

数据库输出
image

gitee链接:https://gitee.com/augtrqv/shoren/blob/master/作业4/第二题.py
2.心得体会
关于本题我尝试了很多方法,一开始我想直接从主页进行爬取课程信息,然后再通过可能隐藏的链接进入课程详情页爬取课程介绍等信息。但我发现很难找到课程详情页的链接,并且想要精准定位到我想要爬取的那几门课程也很困难,因为主页的大部分内容在好几个

之下,只能爬取到前面课程信息比较少的那些课。因此我最终选择了直接通过课程详情页获得信息。

作业③:掌握大数据相关服务,熟悉Xshell的使用
1.实验过程
1.1 任务一:Python脚本生成测试数据
image

1.2 任务二:配置Kafka
image

1.3 任务三: 安装Flume客户端
image

1.4 任务四:配置Flume采集数据
image

image

2.实验心得:本次华为云 Flume 日志采集实验,让我掌握了 MapReduce 开通、Python 造数、Kafka 与 Flume 配置等实操技能。实操中因配置文件语法错误遇采集失败,排查后深刻体会到大数据组件参数精准的重要性,也熟悉了 Xshell 运维操作,理解了实时数据采集链路的核心逻辑。

http://www.jsqmd.com/news/66311/

相关文章:

  • lspci -k查看pcie设备对应的驱动
  • 2025 年办公室下午茶小包装零食推荐:Fixbody 如何提升「轻食感」?
  • mac切换git账户 - STRIVE
  • SAP-MM-取消采购订单界面暂存按钮
  • 2025年geo优化软件首选服务商:技术迭代下的精准选型指南
  • 一分钟实现.NET与飞书长连接的WebSocket架构
  • 2025 年广东公考面试班机构最新推荐榜,聚焦机构本土教研实力与学员上岸率深度解析广东公考面试班,广东省考面试班,广东选调面试班,广东国考面试班,广东公考面试机构推荐
  • 【TRAE】AI 编程:颠覆全栈开发,基于 TRAE AI 编程完成 Vue 3 + Node.js + MySQL 企业级任务实战,从环境搭建到部署上线
  • 【TRAE】AI 编程:颠覆全栈开发,基于 TRAE AI 编程完成 Vue 3 + Node.js + MySQL 企业级任务实战,从环境搭建到部署上线
  • 解放双手:Playwright+AI如何让测试工程师“躺赢”
  • 2025年上海期货开户平台服务商权威推荐榜单:生猪期货行情软件/期货行情软件/期货模拟平台公司精选
  • 2025新加坡留学机构推荐
  • 2025年咖啡豆工厂红榜解析:聚焦生产硬实力与定制化服务甄选
  • 2025新加坡留学哪家机构好
  • 2025新加坡留学中介公司排名
  • 2025新加坡留学中介机构十强
  • 咖啡豆工厂哪家强?2025年最新行业实测与五大靠谱制造商推荐
  • 2025年聚合氯化铝直销厂家权威推荐榜单:漂白粉/三氯化铁/防辐射硫酸钡源头厂家精选
  • 2025新加坡留学中介机构
  • 2025新加坡申请研究生的中介机构
  • 2025 年宴席摆盘糖果推荐:让旺仔牛奶糖撑起桌面氛围感
  • 2025 年结婚喜糖推荐:为什么旺仔牛奶糖是喜铺与新人优先选?
  • 卡尔曼滤波与PID控制的协同:滤波降噪与系统优化
  • 拉断阀进口品牌哪个强?专业制造商推荐与选购指南
  • 倍增 [USACO20FEB] Swapity Swapity Swap S
  • 用实验课速通SQLServer期末考点二
  • 2025年测压窗公司评测:四大品牌核心性能深度解析
  • 2025 年上海设计公司最新推荐榜,深度剖析企业技术实力、服务能力与市场口碑上海办公室设计,上海办公楼设计,上海办公空间设计,上海展厅设计,上海办公室装修设计服务商推荐
  • git命令项目化本地远程上传(岸基)
  • 2025广告标识标牌公司选择指南 从五大维度选对供应商