Shell 命令 curl 和 wget 使用代理采集网页的总结大全

Linux Shell 提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget

米扑代理,作为大数据分析研究的基础服务,对其做了深入的研究和总结。

curl 和 wget 使用代理

curl 支持 http、https、socks4、socks5

wget 支持 http、https

Shell curl wget 示例

#!/bin/bash
#
# curl 支持 http、https、socks4、socks5
# wget 支持 http、https
#
# 米扑代理示例:
# https://proxy.mimvp.com/demo2.php
#
# 米扑代理购买:
# https://proxy.mimvp.com
#
# mimvp.com
# 2015-11-09

#【米扑代理】:本示例,在CentOS、Ubuntu、MacOS等服务器上,均测试通过
#
# http代理格式 		http_proxy=http://IP:Port
# https代理格式 		https_proxy=http://IP:Port

## proxy no auth
# curl和wget,爬取http网页
{‘http‘: ‘http://120.77.176.179:8888‘}
curl -m 30 --retry 3 -x http://120.77.176.179:8888 http://proxy.mimvp.com/test_proxy2.php        			# http_proxy
wget -T 30 --tries 3 -e "http_proxy=http://120.77.176.179:8888" http://proxy.mimvp.com/test_proxy2.php  	# http_proxy

# curl和wget,爬取https网页(注意:添加参数,不经过SSL安全验证)
{‘https‘: ‘http://46.105.214.133:3128‘}
curl -m 30 --retry 3 -x http://46.105.214.133:3128 -k https://proxy.mimvp.com/test_proxy2.php        							# https_proxy
wget -T 30 --tries 3 -e "https_proxy=http://46.105.214.133:3128" --no-check-certificate https://proxy.mimvp.com/test_proxy2.php	# https_proxy

# curl 支持socks
# 其中,socks4和socks5两种协议的代理,都可以同时爬取http和https网页
{‘socks4‘: ‘101.255.17.145:1080‘}
curl -m 30 --retry 3 --socks4 101.255.17.145:1080 http://proxy.mimvp.com/test_proxy2.php
curl -m 30 --retry 3 --socks4 101.255.17.145:1080 https://proxy.mimvp.com/test_proxy2.php

{‘socks5‘: ‘82.164.233.227:45454‘}
curl -m 30 --retry 3 --socks5 82.164.233.227:45454 http://proxy.mimvp.com/test_proxy2.php
curl -m 30 --retry 3 --socks5 82.164.233.227:45454 https://proxy.mimvp.com/test_proxy2.php

# wget 不支持socks

## proxy auth(代理需要用户名和密码验证)
# curl和wget,爬取http网页
curl -m 30 --retry 3 -x http://username:[email protected]:5718 http://proxy.mimvp.com/test_proxy2.php				# http
curl -m 30 --retry 3 -x http://username:[email protected]:5718 https://proxy.mimvp.com/test_proxy2.php				# https
curl -m 30 --retry 3 -U username:password -x http://210.159.166.225:5718 http://proxy.mimvp.com/test_proxy2.php				# http
curl -m 30 --retry 3 -U username:password -x http://210.159.166.225:5718 https://proxy.mimvp.com/test_proxy2.php			# https
curl -m 30 --retry 3 --proxy-user username:password -x http://210.159.166.225:5718 http://proxy.mimvp.com/test_proxy2.php	# http
curl -m 30 --retry 3 --proxy-user username:password -x http://210.159.166.225:5718 https://proxy.mimvp.com/test_proxy2.php	# https

wget -T 30 --tries 3 -e "http_proxy=http://username:[email protected]:5718" http://proxy.mimvp.com/test_proxy2.php
wget -T 30 --tries 3 -e "https_proxy=http://username:[email protected]:5718" https://proxy.mimvp.com/test_proxy2.php
wget -T 30 --tries 3 --proxy-user=username --proxy-password=password -e "http_proxy=http://2.19.16.5:5718" http://proxy.mimvp.com/test_proxy2.php
wget -T 30 --tries 3 --proxy-user=username --proxy-password=password -e "https_proxy=http://2.19.16.5:5718" https://proxy.mimvp.com/test_proxy2.php

# curl 支持socks
curl -m 30 --retry 3 -U username:password --socks5 21.59.126.22:57216 http://proxy.mimvp.com/test_proxy2.php				# http
curl -m 30 --retry 3 -U username:password --socks5 21.59.126.22:57216 https://proxy.mimvp.com/test_proxy2.php				# https
curl -m 30 --retry 3 --proxy-user username:password --socks5 21.59.126.22:57216 http://proxy.mimvp.com/test_proxy2.php		# http
curl -m 30 --retry 3 --proxy-user username:password --socks5 21.59.126.22:57216 https://proxy.mimvp.com/test_proxy2.php		# https

# wget 不支持socks

  

wget 配置文件设置代理

vim ~/.wgetrc

http_proxy=http://120.77.176.179:8888:8080
https_proxy=http://12.7.17.17:8888:8080
use_proxy = on
wait = 30

# 配置文件设置后,立即生效,直接执行wget爬取命令即可
wget -T 30 --tries 3 http://proxy.mimvp.com/test_proxy2.php
wget -T 30 --tries 3 https://proxy.mimvp.com/test_proxy2.php

  

Shell 设置临时局部代理

# proxy no auth
export http_proxy=http://120.77.176.179:8888:8080
export https_proxy=http://12.7.17.17:8888:8080

# proxy auth(代理需要用户名和密码验证)
export http_proxy=http://username:[email protected]:8888:8080
export https_proxy=http://username:[email protected]:8888:8080

# 直接爬取网页
curl -m 30 --retry 3 http://proxy.mimvp.com/test_proxy2.php			# http_proxy
curl -m 30 --retry 3 https://proxy.mimvp.com/test_proxy2.php		# https_proxy
wget -T 30 --tries 3 http://proxy.mimvp.com/test_proxy2.php			# http_proxy
wget -T 30 --tries 3 https://proxy.mimvp.com/test_proxy2.php		# https_proxy

# 取消设置
unset http_proxy
unset https_proxy

  

Shell 设置系统全局代理

# 修改 /etc/profile,保存并重启服务器
sudo vim /etc/profile		# 所有人有效
或
sudo vim ~/.bashrc			# 所有人有效
或
vim ~/.bash_profile			# 个人有效

## 在文件末尾,添加如下内容
# proxy no auth
export http_proxy=http://120.77.176.179:8888:8080
export https_proxy=http://12.7.17.17:8888:8080

# proxy auth(代理需要用户名和密码验证)
export http_proxy=http://username:[email protected]:8888:8080
export https_proxy=http://username:[email protected]:8888:8080

## 执行source命令,使配置文件生效(临时生效)
source /etc/profile
或
source ~/.bashrc
或
source ~/.bash_profile

## 若需要机器永久生效,则需要重启服务器
sudo reboot

  

米扑代理示例

米扑代理,专注为企业提供国内大数据研究服务,技术团队来自百度、小米、阿里、创新工场等,为国内企业提供大数据采集、数据建模分析、结果导出展示等服务。

米扑代理示例,包含Python、Java、PHP、C#、Go、Perl、Ruby、Shell、NodeJS、PhantomJS、Groovy、Delphi、易语言等十多种编程语言或脚本,通过大量的可运行实例,详细讲解了使用代理IP的正确方法,方便网页爬取、数据采集、自动化测试等领域。

米扑代理示例官网 :

https://proxy.mimvp.com/demo2.php

原文地址:https://www.cnblogs.com/ithomer/p/8490703.html

时间: 2024-10-06 00:54:12

Shell 命令 curl 和 wget 使用代理采集网页的总结大全的相关文章

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 下载地址:

实验三 shell命令(1)

四.实验结论 1. 练习shell中命令历史.别名.特殊字符用法(第4章4.2节~4.5节) 2.  shell命令应用练习 (1)通过帮助信息查看,简述以下文件的用途 ①/etc/passwd (提示:通过man 5 passwd查看此文件描述说明) /etc/passwd存放密码文件,文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性,包括:登录名,可选的加密后的密码,数字用户id,数字组id,用户名和注释字段,用户主目录,可选的用户命令解释器. ②/etc/shadow(提

shell神器curl命令的用法 curl用法实例笔记

shell神器curl命令的用法举例,如下: ##基本用法(配合sed/awk/grep) $curl http://www.jquerycn.cn ##下载保存 $curl http://www.jquerycn.cn > index.html $curl -o index.html http://www.jquerycn.cn $curl -O http://www.jquerycn.cn/target.tar.gz ##通过代理 $curl -x 123.45.67.89:1080 -o

Linux学习:curl 与 wget命令

curl和wget命令都是Linux下的工具,可以用来下载文件. 一.wget 例1: wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip 下载文件保存到当前目录,文件名默认是url最后一个/后面的内容,这里就是 wordpress-3.1-zh_CN.zip 例2: wget -O myfile  http://www.minjieren.com/wordpress-3.1-zh_CN.zip 通过-O参数,可以指定文件名,这里指定的是m

写了一个Mac快速设置、打开和关闭Web代理的Shell命令

缘由(痛点) 每次在Mac上设置Web代理,都需要点开"系统偏好设置 -- 网络 -- 高级 -- 代理",然后分别设置Web代理(HTTP)和安全Web代理(HTTPS),设置完后,还要点"好 -- 应用".如果要关闭Web代理也是如此,只是点到代理设置面板后,只需要取消勾选Web代理和安全Web代理. 个人觉得这种操作很繁琐,对于一个经常需要改Web代理的人来说,这简直是灾难性的重复操作.所以这段时间学了些Linux Shell脚本编程的知识,写了两个Shell

【译】curl vs Wget

本文是curl和Wget主要区别之我(Daniel Stenberg,原文作者)见.可能会有些偏心向curl,毕竟curl于我像子女一样,但是我也同样推荐Wget. ... ... 共性 都是可以从FTP.HTTP.HTTPS下载内容的命令行工具 都可以发送HTTP POST请求 都支持HTTP cookies 都被设计为工作中无需用户干涉——像内置脚本一样 都是完全开源免费的 都是90年代的项目 都支持metalink 差异 curl: 库.curl由libcurl——一个API稳定且使用自由

linux命令行模式下实现代理上网(转)

有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方法1.在profile文件中设置相关环境变量# vi /etc/profile http_proxy=192.168.10.91:3128 # 分别指定http.https.ftp协议使用的代理服务器地址 https_proxy=192.168.10.91:3128 ftp_proxy=192.16

Linux的经典shell命令整理

Linux的经典shell命令整理 1.删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列ps -e -o “%C : %p : %z : %a”|sort -k5 -nr 3.按cpu利用率从大到小排列ps -e -o “%C : %p : %z : %a”|sort -nr 4.打印说cache里的URLgrep -r -a jpg /data/cache/* | strings | grep “http:” | aw

[SHELL进阶] (转)最牛B的 Linux Shell 命令 (三)

1. 更友好的显示当前挂载的文件系统 mount | column -t 这条命令适用于任何文件系统,column 用于把输出结果进行列表格式化操作,这里最主要的目的是让大家熟悉一下 columnt 的用法. 下面是单单使用 mount 命令的结果: $ mount /dev/root on / type ext3 (rw) /proc on /proc type proc (rw) /dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)