python如何爬取爱某查类数据

简介: 面对反爬机制比较严的网站应该如何进行爬取

最近因为公司业务需求写了一套分布式多线程的爱某查爬虫系统,实现了对爱某查整个网站的全部数据各种维度的采集和存储,经常在论坛或爬虫群里面看一些做技术的朋友在爬爱某查类型的网站的时候会遇到以下几个问题,所以写了这篇文章一些简单的解决方案分享给大家。
1、目标网站的难度系数比拼
比如爱某查和天某查哪一个的数据更难爬呢?其实在准备爬爱某查数据的时候,我对启某宝、企某查类似的网站分布从数据的完整性和数据的更新及时性分析了,结果个人觉得爱某查的数据比其他网站的要完整,数据维度要多一些,数据更新的时候也比较快,所以最后选择了爬取天某查里面的企业数据,难度相比也要稍等小一点。

  1. 采集速度太频繁了,会被封IP问题 怎么解决

当我们的爬虫程序向目标网站发出http请求的时候,正常情况下返回200状态,说明请求合法被接受,并且会返回数据,但是这次的目标网站想对一般网站反爬要严厉很多,其中最普遍的一个就是如果检查到同一个IP来不断的采集他网站的数据,那么他会被这个IP列入异常黑名单,您再去采集它网站数据的时候,那么就永远被拦截了。这种情况最简单的就是使用爬虫代理IP去访问,每一次请求的时候都采用代理IP方式去请求,而且这个代理IP是随机变动的,每次请求都不同。
爬虫程序实现数据采集的过程
在进行爬取数据的过程中我们经常会使用到一些库,requests属于第三方库,使用起来比urllib要简单不少,且功能更加强大,是最常用的请求库。以下是requests加上优质爬虫代理IP实现数据采集的过程:
`` #! -- encoding:utf-8 --

import requests
import random

# 要访问的目标页面
targetUrl = "https://aiqicha.baidu.com/"

# 要访问的目标HTTPS页面
# targetUrl = "https://aiqicha.baidu.com/"

# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"

# 代理验证信息
proxyUser = "16WNFAPS"
proxyPass = "458798"

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
相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
168 10
|
6天前
|
数据采集 Web App开发 数据可视化
Python用代理IP获取抖音电商达人主播数据
在当今数字化时代,电商直播成为重要的销售模式,抖音电商汇聚了众多达人主播。了解这些主播的数据对于品牌和商家至关重要。然而,直接从平台获取数据并非易事。本文介绍如何使用Python和代理IP高效抓取抖音电商达人主播的关键数据,包括主播昵称、ID、直播间链接、观看人数、点赞数和商品列表等。通过环境准备、代码实战及数据处理与可视化,最终实现定时任务自动化抓取,为企业决策提供有力支持。
|
26天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
21天前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
1月前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
2月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
75 3
|
2月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
43 1
|
2月前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
123 0
|
2月前
|
数据采集 存储 分布式计算
超酷炫Python技术:交通数据的多维度分析
超酷炫Python技术:交通数据的多维度分析
|
2月前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
46 0