Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185757
  • 博文数量: 83
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 846
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-27 14:41
个人简介

宁为玉碎,不为瓦全

文章分类
文章存档

2024年(27)

2023年(28)

2022年(17)

2021年(10)

2019年(1)

我的朋友

分类: Python/Ruby

2022-10-21 16:29:35

经常有前端的程序员被公司临时要求做数据收集,针对某项目进行分析评估。如何才能快速的实现数据采集目标,同时减少程序的研发和运维工作,现在给大家推荐一个基本爬虫策略+爬虫代理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示例如下
Plain Text
复制代码
#! -- encoding:utf-8 --
import requests
import random

# 要访问的目标页面
targetUrl = ""

# 要访问的目标HTTPS页面
# targetUrl = ""

# 代理服务器(产品官网 ) 需要开订单提取新代理信息更新
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


阅读(215) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~