博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell 命令 curl 和 wget 使用代理采集网页的总结大全
阅读量:6652 次
发布时间:2019-06-25

本文共 5159 字,大约阅读时间需要 17 分钟。

  hot3.png

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_proxywget -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_proxywget -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.phpcurl -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.phpcurl -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:password@210.159.166.225:5718 http://proxy.mimvp.com/test_proxy2.php				# httpcurl -m 30 --retry 3 -x http://username:password@210.159.166.225:5718 https://proxy.mimvp.com/test_proxy2.php				# httpscurl -m 30 --retry 3 -U username:password -x http://210.159.166.225:5718 http://proxy.mimvp.com/test_proxy2.php				# httpcurl -m 30 --retry 3 -U username:password -x http://210.159.166.225:5718 https://proxy.mimvp.com/test_proxy2.php			# httpscurl -m 30 --retry 3 --proxy-user username:password -x http://210.159.166.225:5718 http://proxy.mimvp.com/test_proxy2.php	# httpcurl -m 30 --retry 3 --proxy-user username:password -x http://210.159.166.225:5718 https://proxy.mimvp.com/test_proxy2.php	# httpswget -T 30 --tries 3 -e "http_proxy=http://username:password@2.19.16.5:5718" http://proxy.mimvp.com/test_proxy2.phpwget -T 30 --tries 3 -e "https_proxy=http://username:password@2.19.16.5:5718" https://proxy.mimvp.com/test_proxy2.phpwget -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.phpwget -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 支持sockscurl -m 30 --retry 3 -U username:password --socks5 21.59.126.22:57216 http://proxy.mimvp.com/test_proxy2.php				# httpcurl -m 30 --retry 3 -U username:password --socks5 21.59.126.22:57216 https://proxy.mimvp.com/test_proxy2.php				# httpscurl -m 30 --retry 3 --proxy-user username:password --socks5 21.59.126.22:57216 http://proxy.mimvp.com/test_proxy2.php		# httpcurl -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 ~/.wgetrchttp_proxy=http://120.77.176.179:8888:8080https_proxy=http://12.7.17.17:8888:8080use_proxy = onwait = 30# 配置文件设置后,立即生效,直接执行wget爬取命令即可wget -T 30 --tries 3 http://proxy.mimvp.com/test_proxy2.phpwget -T 30 --tries 3 https://proxy.mimvp.com/test_proxy2.php

 

 

Shell 设置临时局部代理

# proxy no authexport http_proxy=http://120.77.176.179:8888:8080export https_proxy=http://12.7.17.17:8888:8080# proxy auth(代理需要用户名和密码验证)export http_proxy=http://username:password@120.77.176.179:8888:8080export https_proxy=http://username:password@12.7.17.17:8888:8080# 直接爬取网页curl -m 30 --retry 3 http://proxy.mimvp.com/test_proxy2.php			# http_proxycurl -m 30 --retry 3 https://proxy.mimvp.com/test_proxy2.php		# https_proxywget -T 30 --tries 3 http://proxy.mimvp.com/test_proxy2.php			# http_proxywget -T 30 --tries 3 https://proxy.mimvp.com/test_proxy2.php		# https_proxy# 取消设置unset http_proxyunset https_proxy

 

 

Shell 设置系统全局代理

# 修改 /etc/profile,保存并重启服务器sudo vim /etc/profile		# 所有人有效或sudo vim ~/.bashrc			# 所有人有效或vim ~/.bash_profile			# 个人有效		## 在文件末尾,添加如下内容# proxy no authexport http_proxy=http://120.77.176.179:8888:8080export https_proxy=http://12.7.17.17:8888:8080# proxy auth(代理需要用户名和密码验证)export http_proxy=http://username:password@120.77.176.179:8888:8080export https_proxy=http://username:password@12.7.17.17: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://my.oschina.net/mimvp/blog/1627473

你可能感兴趣的文章
扩展卡特兰数
查看>>
ajax对象。同步与异步及ajax发送请求
查看>>
event.stopPropagation 阻止触发父元素的绑定事件
查看>>
[开源] KJFramework.Message 智能二进制消息框架
查看>>
appcan本地数据库,uexDataBaseMgr插件
查看>>
HTML学习笔记一基本标签
查看>>
Mac、nvm、node/npm
查看>>
【转载】随机函数rand()
查看>>
二分查找 BestCoder Round #36 ($) Gunner
查看>>
PowerShell【Do While、Do Until篇】
查看>>
试验添加RAC(ORA10G)节点
查看>>
面试题编程题04-python sort和sorted用法与区别
查看>>
UWP是什么东西
查看>>
do not track
查看>>
ios判断是否有中文
查看>>
Swift入门篇-字符串和字符
查看>>
【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限
查看>>
那些你觉得堪称神兵利器的 Chrome 插件
查看>>
程序员心得
查看>>
深入浅出KnockoutJS
查看>>