您的位置:首页 > 新闻资讯 >文章内容
用代理IP爬取ajax动态加载的网页
来源:互联网 作者:admin 时间:2019-09-21 10:35:02

  大数据时代,无论什么都离不开数据为基础。企业的商业决策与未来发展也受到数据的左右,特别是在代理IP的帮助之下,网络爬虫是变得更加的简单,能够帮助大家在一定程度上解决网页的反爬虫设置。所以,现在也有了更多的人来学习Python爬虫。


用代理IP爬取ajax动态加载的网页


  那么,今天为大家代理一个教程分享:Python爬虫如何爬取ajax动态加载的网页?


  解决思路:按照分析响应请求,模拟响应参数。然后进行requests库的request.post()函数去post相对应的参数就能够解决。


  下面是具体步骤:


  开启开发者工具,按F12,如果不可以就Fn + F12

  

用代理IP爬取ajax动态加载的网页

  红色方框1network,从中能看到服务器加载过来的资源。


  红色方框2是一个过滤器,能通过文件格式筛选。


  红色方框3是加载过来的具体文件。

  

用代理IP爬取ajax动态加载的网页

  Headers中的request method 中显示用的是POST方法。


  并且FROM Data 中有个参数,page。


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


  下一步就能够正常访问和翻页了!


  源代码:


  import requests

  import os

  import re

  def get_page(url,page_num):

  pageList =[]

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

  formdata ={'type':'index' ,

  'paged': i}

  try:

  r = requests.post(url,data =formdata)

  r.raise_for_status()

  r.encoding = r.apparent_encoding

  print('链接成功')

  p = re.compile(r'href="(http://www.jdlingyu.net/\d{5}/)"')

  tempList = re.findall(p,r.text)

  for each in tempList:

  pageList.append(each)

  print('保存页面成功')

  tempList = []

  except:

  print('链接失败')

  print(pageList)

  return pageList

  def get_picure(pageList):

  picList = []

  for each in pageList:

  try:

  r = requests.get(each,headers = kv)

  r.raise_for_status()

  r.encoding = r.apparent_encoding

  p = re.compile('http://img.jdlingyu.mobi/[^"]+\.jpg|http://w[wx][23].sinaimg.cn/[^"]+\.jpg')

  tempList = re.findall(p,r.text)

  for each in tempList:

  picList.append(each)

  print('保存图片链接成功')

  tempList = []

  except:

  print('保存图片链接失败')

  return picList

  def down_picture(picList,root):

  picList = list(set(picList))

  if not os.path.exists(root):

  os.mkdir(root)

  for each in picList:

  path = root + each.split('/')[-1]

  if not os.path.exists(path):

  r = requests.get(each,headers = kv)

  r.raise_for_status()

  with open(path,'wb') as f:

  f.write(r.content)

  print('动图已保存')

  else:

  print('动图已存在')

  url = 'http://www.jdlingyu.net/'

  kv = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'}

  root = 'D://绝对领域//'

  pageList = get_page(url,2)

  picList = get_picure(pageList)

  down_picture(picList,root)


  以上就是本次教程的思路与具体操作,希望能够为大家的爬虫工作起到帮助。机灵代理,自建200+机房,数万拨号线路,提供企业级HTTP代理服务,IP覆盖全国200+城市,高匿名代理IP帮助你保护个人隐私。无论是网络爬虫、互联网营销、投票打榜都可以使用。


相关文章内容简介
推荐阅读
  • 06 2020-02
    代理ip对工作的帮助

    大家都知道可以通过使用代理IP,可以避免泄露我们的真实IP,其实代理IP还有很多工作中需要用到它,可以对我们的工作带来很多帮助,下面就为大家进行详细的介绍。

  • 24 2019-05
    透明代理无法隐藏IP地址

    透明代理无法隐藏IP地址,有时候大家使用代理,但是却被对方发现了,这是为什么呢?可能你使用的是透明代理,何为透明代理呢?

  • 26 2019-11
    代理IP付费挑选要仔细

    随着网络的发展,我们对代理服务的认识更加深,换IP也越来越多人掌握到了使用方法了。在选择代理IP的时候,付费代理毕竟是自己花真金白银来购买的,在选择的时候也要多注意些。

  • 17 2020-08
    换ip可以通过重启路由器

    有时候IP被限制了,怎么换IP访问,重启路由器可以换IP吗?一般家庭的基于PPPOE拨号方式上网的,使用的是动态IP,可以更换IP,下面一起去看看如何重启路由器:

  • 14 2019-05
    租用代理IP使用注意事项

    租用代理IP使用注意事项,大家在租用代理IP之前建议是要先了解下的。什么都不知道就跑去租用了,什么信息都无法对比,难找到好用的代理IP。那么我们租用代理IP使用,需要了解什么呢?

  • 12 2020-06
    代理​IP有什么用途

    网络现在已经是我们生活和工作中不能缺少的一部分,除了日常的娱乐灌水,很多的工作也是需要网络才可以完成,像问答推广、网络营销、数据采集等等,但是频繁的操作会让目标网站对你的

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部