python爬虫有什么办法防止反爬虫
3个回答
2017-01-01 · 知道合伙人互联网行家
关注
展开全部
解决方法,以淘宝为例:
#-*_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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-08-14 · 百度认证:江苏艾迪信息科技官方账号
IPIDEA全球HTTP
IPIDEA是国内领先的动态IP服务商,整合全球240+国家和地区真实住宅IP资源量9000万 我们提供7x24小时的全天候多语种咨询,真实住宅IP应用多种应用场景, 支持百万高并发
向TA提问
关注
展开全部
现在,爬虫程序怎么样安全躲避防爬程序,可以说是一个很普遍的需求了。做网络爬虫时,一般对代理IP的需求量比较大。因为在爬取网站信息的过程中,很多网站做了反爬虫策略,可能会对每个IP做频次控制。
这样我们在爬取网站时就需要很多代理IP。自己搭建代理服务器,稳定,但需要大量的服务器资源,一来是因为技术含量过高,二来成本太高,(作为用户来说,你肯定也没有资源,也没有这种技术)ipidea覆盖了全球ip资源,同时还可以根据用户设置不同类型的HTTP代理,满足爬虫业务量大的需求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询