curl 抓取网页(和wget下载安装下载安装下载地址及下载方法介绍)

优采云 发布时间: 2022-04-20 06:27

  curl 抓取网页(和wget下载安装下载安装下载地址及下载方法介绍)

  下载并安装 curl 和 wget

  1、Ubuntu 平台

  wget命令安装:做apt-get install wget(普通用户登录,需要输入密码;root账号登录,不需要密码)

  curl命令安装:sudo apt-get install curl(同wget)

  2、Windows 平台

  wget 下载地址:wget for Windows

  curl下载地址:curl下载

  wget和curl包下载地址:Windows平台下wget和curl工具包

  windows平台下,curl下载后直接为curl.e格式,复制到系统命令目录下的C:WindowsSystem32

  Windows平台下,wget下载解压后,格式为wget-1.11.4-1-up.exe,需要安装;安装后,在环境变量-系统变量-路径中添加其安装目录即可

  Curl 和 wget 抓取实例

  抓取网页主要有两种方式:url URL 和代理代理。下面是一个爬取“百度”首页的例子,下面会单独介绍

  1、 url URL方法抓取

  (1)curl下载百度首页内容并保存在bau_html文件中

  curl -o baidu_html

  (2)wget下载百度首页内容并保存在baidu_html文件中

  wget -O baidu_html2

  有时由于网速/数据丢包/服务器宕机/等原因,网页暂时无法下载成功

  这时候可能需要尝试多次发送连接来请求服务器的响应;如果多次仍然没有响应,则可以确认服务器有问题

  (1)curl 尝试连接多次

  curl --rey 10 --retry-delay 60 --retry-max-60 -o baidu_html

  注意:--retry 表示重试次数; --retry-delay 表示两次重试之间的时间间隔(以秒为单位); --retry-max-time 表示在这个最大时间内只允许重试尝试一次(通常与--retry-delay相同)

  (2)wget 多次尝试连接

  wget -t 10 -w 60 -T 30 -O baidu_html2

  注意:-t(--tries)表示重试次数; -w 表示两次重试之间的时间间隔(以秒为单位); -T 表示连接超时时间,超过超时则连接不成功,继续下次尝试连接

  附件:curl可以判断服务器是否响应。也可以通过一段时间内下载的字节数来间接判断。命令格式如下:

  curl -y 60 -Y 1 -m 60 -o baidu_html

  注意:-y表示测试网速的时间; -Y 表示-y期间下载的字节数(字节为单位); -m 表示允许请求连接的最长时间,如果超过连接会自动断开连接并放弃连接

  2、代理代理捕获

  代理下载是通过连接中间服务器间接下载url网页的过程,不是url直接连接网站服务器下载

  两位知名的自由球员网站:

  (全球数十个国家的免费代理,每日更新)

  (通过设置端口类型、代理类型、国家名称过滤)

  在网站中选择国内免费的代理服务器为例介绍代理代理抓取网页:

  218.107.21.252:8080(ip为218.107.21.252;端口为8080 , 用冒号“:”隔开,形成套接字)

  (1)curl通过代理爬取百度首页

  curl -x 218.107.21.252:8080 -o aaaaa(常用端口有80、8080、8086、8888、3128等,默认为80)

  注意:-x代表代理服务器(ip:port),即curl首先连接代理服务器218.107.21.252:8080,和然后通过218.107.21.252:8080下载百度主页,最后通过218.107.21.252:8080下载百度主页传给curl到本地(curl不直接连接百度服务器下载主页,而是通过中介代理)

  (2)wget通过代理爬取百度首页

  wget通过代理下载,和curl不一样,需要先设置代理服务器的http_proxy=ip:port

  以ubuntu为例,在当前用户目录(~)下,新建wget配置文件(.wgetrc),进入代理配置:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线