您的位置:首页 > 新闻资讯 >文章内容
用代理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帮助你保护个人隐私。无论是网络爬虫、互联网营销、投票打榜都可以使用。


相关文章内容简介
推荐阅读
  • 04 2019-09
    使用代理IP池怎么维护?

    使用免费代理IP的时候,在爬取数据的时候,遇到了IP被封杀的情况。为了顺利开展工作,选用付费的代理IP,像机灵代理,以下分享爬虫工作经验,对代理IP池的维护提供一些见解。

  • 06 2020-05
    IP代理软件网游不掉线

    网络游戏市场在不断发展,随着电竞行业的市场化,现在很多职业玩家以及个人玩家对游戏的追求是比较高的,而且投入的时间也更多。那么,如果我们想要玩游戏多开不掉线,可以怎么做呢?

  • 11 2019-07
    ip代理的两个使用方法

    ip代理的两个使用方法分享,这完全是不一样,如果想要设置成功,还是需要用到一些专业的知识,下面我们来看看ip代理的两个使用方法吧。

  • 26 2020-03
    代理服务器能够有哪些作用

    使用网络在线代理可以在很多不同的地方帮助到大家,或许普通用户没有这个感觉,自己没有代理ip不也是正常在上网吗?但是如果你有以下使用操作,那么就得依赖代理服务器了。

  • 11 2019-06
    什么是api代理?

    什么是api代理?对于api,我相信知道的人不多,但是使用的人很多。其实日常生活中,我们有很多类似API的场景,比如:

  • 08 2019-08
    QQ用代理服务器要用高匿名么

    QQ用代理服务器要用高匿名么?如何修改QQIP地址?腾讯QQ是我们经常使用的一款聊天工具,不管是工作还是和好友联系,都经常使用到QQ。如果我们在使用QQ的时候不想让别人看到自己当地的IP地址

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

大客户经理微信

微信公众号

微信公众号

回到顶部