python爬虫有什么办法防止反爬虫

 我来答
龙氏风采
2017-01-01 · 知道合伙人互联网行家
龙氏风采
知道合伙人互联网行家
采纳数:5849 获赞数:12817
从事互联网运营推广,5年以上互联网运营推广经验,丰富的实战经

向TA提问 私信TA
展开全部
  解决方法,以淘宝为例:
  #-*_coding:utf-8-*-
  import requests
  import re
  from xlwt import *
  import time
  reload(__import__('sys')).setdefaultencoding('utf-8')#打印为中文
  '''
  headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'}#构造头部
  cook ={"Cookie":''}#cookie有改动,大家用自己的cookie就好
  url="https://wwwcom/market/nvzhuang/dress.php?spm=a21bo.7723600.8224.2.nPpHHT"
  #html=requests.get(url).content
  html=requests.get(url,cookies=cook,headers=headers).content#get中提交url,COOKIE,
  print html
  '''
  def getHtml(url):
  proxylist = (
  '123.134.185.11',
  '115.228.107.142',
  '180.76.135.145',
  '58.218.198.61',
  '110.72.43.148',
  )
  for proxy in proxylist:
  proxies = {'': proxy}
  headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'}#构造头部
  cook ={''}#cookie有改动,大家用自己的cookie就好
  #html=requests.get(url).content
  html=requests.get(url,cookies=cook,headers=headers,proxies=proxies).text
  return html
  def changeurl(start_url,page):  #传参数(开始的url,页数)
  urls=[]
  for i in range(1,page+1):
  url=start_url+str(i)
  urls.append(url)
  return urls
  start_url="https//list.tmall.com/search_product.htm?type=pc&totalPage=100&cat=50025135&sort=d&style=g&from=sn_1_cat-qp&active=1&jumpto="
  urls=changeurl(start_url,2)
  wb = Workbook()
  ws = wb.add_sheet('sheet1')
  ws.write(0, 0, 'pid')
  ws.write(0, 1, 'price')
  ws.write(0, 2, 'title')
  ws.write(0, 3, 'url')
  index = 1
  for url in urls:
  html=getHtml(url)
  time.sleep(1)
  reForProduct = re.compile('<div class="product  " data-id="(\d+)"[\s\S]+?<p class="productPrice">\s+<em title="(.+?)">[\s\S]+?<p class="productTitle">\s+<a href="(.+?)" target="_blank" title="(.+?)"[\s\S]+?<\/div>\s+<\/div>')
  products = reForProduct.findall(html)
  for pro in products:
  for (pid, price, url, title) in products:
  text= ("%s\t%s\t%s\t%s") % (pid, price, title, url)
  print text
  ws.write(index, 0, pid)
  ws.write(index, 1, price)
  ws.write(index, 2, title)
  ws.write(index, 3, url)
  index += 1
  wb.save('result.xls')
深圳中宇视通科技有限公司
2017-01-07
深圳中宇视通科技有限公司
深圳中宇视通科技有限公司,专业生产液晶拼接屏,监视器,广告机,查询机,触摸一体机,微信打印广告机,户外定制广告机,定制显示端产品,欢迎来公司考察指导,期待跟您的合作!
向TA提问
展开全部
封杀分很多种的: 1.有基于ua来封的,这种你添加一个随机的ua就行 2.基于ip的访问频率的,这种比较麻烦,你得挂代理 3.基于请求特征,比如没有带cookie,没有带header固有的一些字段的,这种需要你去模拟真实请求的ua
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IPIDEA全球HTTP
2020-08-14 · 百度认证:江苏艾迪信息科技官方账号
IPIDEA全球HTTP
IPIDEA是国内领先的动态IP服务商,整合全球240+国家和地区真实住宅IP资源量9000万 我们提供7x24小时的全天候多语种咨询,真实住宅IP应用多种应用场景, 支持百万高并发
向TA提问
展开全部

现在,爬虫程序怎么样安全躲避防爬程序,可以说是一个很普遍的需求了。做网络爬虫时,一般对代理IP的需求量比较大。因为在爬取网站信息的过程中,很多网站做了反爬虫策略,可能会对每个IP做频次控制。

这样我们在爬取网站时就需要很多代理IP。自己搭建代理服务器,稳定,但需要大量的服务器资源,一来是因为技术含量过高,二来成本太高,(作为用户来说,你肯定也没有资源,也没有这种技术)ipidea覆盖了全球ip资源,同时还可以根据用户设置不同类型的HTTP代理,满足爬虫业务量大的需求。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式