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


相关文章内容简介
推荐阅读
  • 05 2019-07
    有代理IP可以高频访问目标吗?

    有代理IP可以高频访问目标吗?在没有使用代理ip之前,这肯定是不行的,平常我们就连点击快一些就会被提示访问的速度过快的,但如果使用了代理IP,是不是结果不一样呢?

  • 24 2019-05
    动态代理IP刷阅读量能刷出爆文吗

    动态代理IP刷阅读量能刷出爆文吗?大家有时候看到百万爆文,其实这真实的阅读量也能没有那么多,那么这是怎么来的呢?这与网络爬虫有关于,互联网上过半的流量来自于爬虫,还有些都是

  • 03 2020-08
    HTTP代理都有什么用处

    先讲解一下什么是HTTP代理服务器:它是介于Web客户端和Web服务器之间的信息中转站。它既是Web客户端的服务器,又是Web服务器的客户端。再来说下HTTP代理有哪些?HTTP代理服务器按其所处的位置

  • 24 2020-08
    IP限制可用ip代理解决

    网站的IP限制可用ip代理解决,这是比较有效的方法,也是大部分人选择的方法,尤其是爬虫,毕竟需要高频率的访问网站。

  • 30 2020-04
    IP代理的作用

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

  • 17 2019-10
    代理IP助力邮件营销

    邮件营销作为一种性价比非常高的网络营销方式,在工作中我们有时需要大量的群发QQ邮件,但是使用单个的邮箱群发邮件速度无疑会非常慢。同样是群发邮件,我们可以使用模拟手工发送的邮

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

大客户经理微信

微信公众号

微信公众号

回到顶部