手把手教你利用Python网络爬虫获取APP推广信息

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:Python进阶者

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


CPA之家app推广平台是国内很大的推广平台。该网址的数据信息高达数万条,爬取该网址的信息进行数据的分析。

在这里插入图片描述

项目目标


实现将获取到的QQ,导入excel模板,并生成独立的excel文档。

项目分析


反爬措施处理

前期测试时发现,该网站反爬虫处理措施很多,测试到有以下几个:

  1. 直接使用requests库,在不设置任何header的情况下,网站直接不返回数据。

  2. 同一个ip连续访问40多次,直接封掉ip,起初我的ip就是这样被封掉的。

为了解决这两个问题,最后经过研究,使用以下方法,可以有效解决。

  1. 获取正常的 http请求头,并在requests请求时设置这些常规的http请求头。

  2. 使用 fake_useragent ,产生随机的UserAgent进行访问。

需要的库和网址

1、网址,如下所示:

https://www.cpajia.com/index.php?g=Wap&a=searchua

2、需要用到的库:requeststimelxmlua

项目实现


我们定义get_page方法, 准备url地址和请求头headers,导入对应的库。

import requests

import os

import re

from fake_useragent import UserAgent

from lxml import etree

house_dict = {} #定义一个字典

def get_page(url, page_num):

pass

url = ‘https://www.cpajia.com/index.php?g=Wap&a=search’ #网址

ua = UserAgent(verify_ssl=False) #随机的UserAgent

kv = {

‘User-Agent’: ua.random}

pageList = get_page()

下面介绍一下如何爬取ajax动态加载的网页方法。

翻页时发现它的url并没有改变,无法简单的通过request.get()访问其他页面。据搜索资料,了解到这些网站是通过ajax动态加载技术实现。即可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

在这里插入图片描述

通过分析响应请求,模拟响应参数。再通过requests库的request.post()函数去post相对应的参数即可。

具体方法如下:打开开发者工具,快捷键F12,不行就Fn + F12

在这里插入图片描述

<1>标红的箭头network, 在其中可以看到服务器加载过来的资源。

< 2>标红的框框一个过滤器,你可以按照文件格式筛选。

在这里插入图片描述

Headers中的request method 中显示我们使用的是POST方法。而且FROM Data 中有一个参数,PageIndex。

利用Form Data 中的数据,编写一个字典,赋值给requests.post()中的data即可。

接下来就可以正常访问和翻页了!

对网站发生请求

import requests

import os

import re

from fake_useragent import UserAgent

from lxml import etree

def get_page(url, page_num):

pageList = []

for i in range(1, page_num + 1):

formdata = {‘PageIndex’: i}

ua = UserAgent(verify_ssl=False)

kv = {‘User-Agent’: ua.random}

pageList = get_page()

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值