首页 > 编程语言 >perl:获取同花顺数据--业绩预告

perl:获取同花顺数据--业绩预告

时间:2024-03-23 23:32:20浏览次数:35  
标签:use 同花顺 title -- ua yjyg perl print my

perldoc LWP::UserAgent

如果没有安装,则安装模块,运行 cpanm LWP::UserAgent  。

编写  get_yjyg_10jqka.pl  如下

#!/usr/bin/perl
# perl 获取同花顺数据--业绩预告
use LWP::UserAgent;
use Encode qw(decode encode);
use POSIX;
use Data::Dumper;
use HTML::TreeBuilder;
use HTML::TreeBuilder::XPath;

my $tree= HTML::TreeBuilder::XPath->new;
open(my $DATA,'>', "data.html") or die "open data file failed:$!"; 

my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$ua->agent("Mozilla/8.0");
my $response = $ua->get('http://data.10jqka.com.cn/financial/yjyg/');

if ($response->is_success) {
   print $DATA $response->decoded_content;  # or whatever
   close $DATA;
   $tree->parse_file("data.html");
} else {
   print " get data failed.";
   exit;
}
 
my $title=  $tree->findvalue('/html/body//span[@class="text-value"]');
print " title is $title\n";
$title ='yjyg-2024Q1'; 
my $ps = 1;
print " pages is $ps\n";

sub utf2gbk { encode('gbk', decode('utf8', $_[0]));} 

for (my $n=1; $n<=$ps; $n++){
   open(my $T, ">", "$title-$n.csv");
   my @arr1= $tree->find_by_tag_name("tr") ;
   #shift @arr1;
   foreach my $row (@arr1) {
      my @arr2= $row->content_list;
      my @str;
      foreach my $a (@arr2){ push @str, $a->as_text;}
      my $line = utf2gbk(join(',', @str));     
      print $T "$line\n"; 
   }
   close $T;
}

运行 chcp 65001

perl get_yjyg_10jqka.pl 

生成 yjyg-2024Q1-1.csv 

标签:use,同花顺,title,--,ua,yjyg,perl,print,my
From: https://blog.csdn.net/belldeep/article/details/136969875

相关文章

  • 基于SpringBoot+Vue医疗管理系统设计和实现(源码+LW+部署讲解)
    博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs......
  • 【Linux】详谈命令行参数&&环境变量
    目录一、浅谈命令行参数二、环境变量2.1环境变量的内涵以及理解2.2PATH环境变量:2.3输入程序名就能运行我们的程序2.4系统中的环境变量2.5导出环境变量 三、main函数的第三个参数3.1获得环境变量的三种方法 四、本地变量一、浅谈命令行参数        我......
  • 基于SpringBoot+Vue新闻管理系统设计和实现(源码+LW+部署讲解)
    博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs......
  • 定制和配置你的 shell 环境的一个强大工具——.bashrc
    本文结构:a、简单介绍b、操作示例c、注意事项a、当你在一个新的终端会话开始时,Bashshell会读取并执行.bashrc文件中的命令。这使得.bashrc成为定制和配置你的shell环境的一个强大工具。b、以下是一些.bashrc文件中常见的元素和它们的作用:1.别名(Aliases)  .bas......
  • Java中的继承、重载与重写:概念、区别与实例演示(day7)
    Java的继承、重载以及重写java的继承:java的重载java的重写:在这个例子中:Animal类是父类,它有一个makeSound方法和两个重载的eat方法。Dog类是子类,它继承了Animal类,并重写了makeSound方法,使其具有不同的行为。此外,Dog类还重载了eat方法,但这次重载的方法......
  • 会员中心微服务
    文章目录1.环境配置1.创建会员中心模块2.检查父子模块的pom.xml1.父模块注意:如果父模块中的依赖显示notfound,原因是子模块并没有引用,不用在意2.子模块3.pom.xml引入相关依赖(别忘记刷新maven)4.application.yml进行基本配置5.com/sun/springcloud/MemberApplication.j......
  • 线路查询||基于Java+Spring Boot+MySQL的公交线路查询系统设计与实现(源码+数据库+文
    目录一、前言二、技术介绍三、系统实现四、论文参考五、核心代码六、其他案例七、源码获取作者介绍:✌️大厂全栈码农|毕设实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️作者博客:曾几何时​​​​​​​......
  • 【论文精读】VIT:vision transformer论文
    相关文章【论文精读】Transformer:AttentionIsAllYouNeed文章目录相关文章一、文章概览(一)研究背景(二)核心思路(三)相关工作(三)文章结论二、模型细节(一)组成模块(二)模型的大体流程(三)具体的模型的前向过程(四)transformerencoder的公式表达(五)消融实验1、关于图像分类编码方......
  • 开源软件贡献动机问卷调研
    我们是来自南京大学商学院的学生,正在进行对数字公共产品供给侧激励机制的研究。为更好地了解开源平台贡献者的动机与见解,我们设计了此份问卷。您们的回答将对我们分析开源社区的运作机制和激励模型提供重要参考。特别感谢大家能在百忙之中填写我们的问卷,此问卷以选择为主,不会耽......
  • 大龄程序员转行的可行性
    我想换一种生活方式,七年就是一辈子。我已经做了八年程序员,「下辈子」我想要换一种生活方式。我在互联网上赚到过钱。以前上班的时候,我做过一些网络项目,也赚到过一些钱。自从我告别了朝九晚五的生活,我就坚信,在不再踏入办公室的那一刻起,我依然能在互联网上找到收入的源泉。如果......