`
小taomi_77
  • 浏览: 40286 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

入门爬虫就这么简单

 
阅读更多
经常有前端的程序员被公司临时要求做数据收集,针对某项目进行分析评估。如何才能快速的实现数据采集目标,同时减少程序的研发和运维工作,现在给大家推荐一个基本爬虫策略+爬虫代理IP的方案,从搭建项目到实现数据采集,10分钟时间就够啦,主要分成三个步骤:
1、选择适合的语言框架,一般建议python或java这类面向对象封装较多的语言,根据熟悉程度选择适合的类库使用,例如python下的requests、scrapy或java下的HttpClient、JSoup等。
2、爬虫程序对http的header添加User-Agent,避免被网站反爬统计。除非是访问网站或APP专用数据api接口,正常的HTTP请求都需要进行ua(User-Agent)优化,因为ua是浏览器标识,如果http请求没有ua,或ua太少,都会被网站运维统计异常的,ua越丰富分布就越真实。
3、选择适合的爬虫代理,直接参考demo配置使用即可,以市面上典型的一款爬虫代理产品为例,只需要查看对方的demo,提取代理信息,将目标网站修改成需要采集数据url即可。
以python示例如下
#! -- encoding:utf-8 --
import requests
import random

# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"

# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"

# 代理服务器(产品官网 www.16yun.cn) 需要开订单提取新代理信息更新
proxyHost = "t.16yun.cn"
proxyPort = "31111"

# 代理验证信息  需要开订单提取新代理信息更新
proxyUser = "username"
proxyPass = "password"

proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host" : proxyHost,
    "port" : proxyPort,
    "user" : proxyUser,
    "pass" : proxyPass,
}

# 设置 http和https访问都是用HTTP代理
proxies = {
    "http"  : proxyMeta,
    "https" : proxyMeta,
}

#  设置IP切换头
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}

resp = requests.get(targetUrl, proxies=proxies, headers=headers)

print resp.status_code
print resp.text
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics