• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > shell命令curl抓取网页内容-下载xls文件,

shell命令curl抓取网页内容-下载xls文件,

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含shell curl,curl命令,linux curl命令,curl命令详解,windows curl命令等服务器相关知识,网友希望可以进行参考

shell命令curl抓取网页内容-下载xls文件,


通过curl命令抓取网页内容,关键点如下:

1.curl要模拟浏览器,最好是有个代理,因为很多站点都会搞个反爬虫什么的。

2.我的需求很简单,就是在国家外汇管理局上下载各种货币对美元的汇率。

http://www.safe.gov.cn/wps/portal/sy/tjsj_dmzsl

3.主要命令:curl,grep,awk,xls2txt,msql(LOAD DATA )。

curl:提取url

xls2txt:shell下的xls操作命令


xls2txt-0.14.tar.gz

下载地址:http://wizard.ae.krakow.pl/~jb/xls2txt/


msql(LOAD DATA ):导入到mysql数据库


备注:没有解决的问题就是下载的时候,下载下来的文件名不是转码后的文件名,而是utf8的字符串。
废话少说,贴一个粗糙版本,从抓取到操作xls


[root@DevelopServer http_curl]# cat shellspider.sh 

THE_DATE=`date +"%Y-%m-%d %H:%M:%S"`
echo "[$THE_DATE]:Begin  $1 $2  ......"

base_url="http://www.safe.gov.cn"
list_url="http://www.safe.gov.cn/wps/portal/sy/tjsj_dmzsl"
curl -S  -e "$list_url" -w %{http_code}"\\n"   -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" -H "Host:www.safe.gov.cn"  -D header1.txt -b "JSESSIONID=x3nfVnDP0cGNnNf2d6GPWZ7NnGFVJCJ3pdPLl0pDjjMC31XB0YZ3\!504534437" -c servercookie1.txt   "$list_url"  |grep 'href="/wps/portal/' |grep  hbdm_store |awk -F '"' '{print $4}' > list.lst

echo "http_code=$http_code"
THE_DATE=`date +"%Y-%m-%d %H:%M:%S"`
echo "[$THE_DATE]:get list_url  ......"
sleep 3

index=`ls -lt *.xls|wc -l`
if [ 0 -ne ];then
   index=0
fi
 for i in `cat list.lst `
 do 
  # index=$((${index}+1))
  # xls_file="$index.xls"   

   tmp_url="$base_url$i"
   download_page_url=${tmp_url//\!/\\!}
   #echo "$download_page_url"
   THE_DATE=`date +"%Y-%m-%d %H:%M:%S"`
   echo "[$THE_DATE]:get download_page_url=$download_page_url  ......"

   tmp_url=`curl -S  -e "$list_url" -w %{http_code} -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" -H "Host:www.safe.gov.cn"  -D header2.txt -b "JSESSIONID=x3nfVnDP0cGNnNf2d6GPWZ7NnGFVJCJ3pdPLl0pDjjMC31XB0YZ3\!504534436" -c servercookie2.txt "$download_page_url"|grep urlArr|grep  '/wps/wcm/connect/' |grep '.xls' |awk -F "'" '{print $2}'`
   echo "http_code=$http_code"

   download_url=${tmp_url//\!/\\!}
   download_url="$base_url$download_url"
    #echo "$download_url"
   THE_DATE=`date +"%Y-%m-%d %H:%M:%S"`
   echo "[$THE_DATE]:get download_url=$download_url  ......"

    sleep 1
    curl -S  -e "$list_url" -w %{http_code}  -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" -H "Host:www.safe.gov.cn"  -D header3.txt -b "JSESSIONID=x3nfVnDP0cGNnNf2d6GPWZ7NnGFVJCJ3pdPLl0pDjjMC31XB0YZ3\!504534435" -c servercookie3.txt -O "$download_url" >ok.code
    cat ok.code

    echo "http_code=$http_code"
   THE_DATE=`date +"%Y-%m-%d %H:%M:%S"`
   echo "[$THE_DATE]:end download_url=$download_url  ......"

   sleep 3
 done

  for i in `ls *\%*`
  do
   index=$((${index}+1))
   xls_file="$index.xls"    
      ls -lt $i
      mv -f $i $xls_file
      xls2txt -n 0  $xls_file |head
  done

THE_DATE=`date +"%Y-%m-%d %H:%M:%S"`
echo "[$THE_DATE]:End  $1 $2  ......"

[root@DevelopServer http_curl]# 


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • shell命令curl抓取网页内容-下载xls文件,

相关文章

  • Spark RDD API扩展开发(1),sparkrdd
  • Andrew Ng机器学习课程9-补充,andrew9-
  • Hadoop之——自定义分组比较器实现分组功能,hadoop分组
  • Mahout-HashMap的进化版FastByIdMap,mahout
  • 吐槽Oozie: 挖好坑,等你跳!,oozie
  • 当代数学七大难题,当代七大难题
  • win系统下启动linux上的kafka集群及使用,linuxkafka
  • hive之实现列转行,hive列转行
  • 多网卡PC装OVS改造成OpenFlow交换机配置脚本,ovsopenflow
  • logstash 学习小记,logstash小记

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Apache Flink简介,apacheflink简介
    • HBase,hbase安装
    • kernel syn,syn
    • Storm On Yarn部署,stormonyarn部署
    • 微软云和阿里云的区别,微软云和阿里
    • R.net简介(原创翻译),r.net简介原创翻译
    • 推荐引擎mahout安装与配置,引擎mahout配置
    • 几本京东上的CISCO云计算相关书籍,cisco相关书籍
    • hadoop集群搭建之NFS服务,hadoop集群nfs
    • Linux IRQ Affinity,linuxirqaffinity

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有