我们都知道商标是市场主体提供商品或服务的“身份标识”,是其参与市场竞争的有力手段。现在国家知识产权局持续推进商标注册便利化改革,更方便市场主体办业务。今年国家知识产权局在这3方面向市场主体提供高效便捷的服务。
1、一是建好商标注册“高速路”,助推企业“加速跑”
2、二是用好商标国际注册“快航道”,助力企业品牌出海
3、三是管好商标注册秩序“红绿灯”,持续释放从严信号
这些措施都是为了在商标审查审理全领域深化打击商标恶意注册行为,遏制不正当占用商标资源和扰乱商标注册秩序的商标囤积。
在数据为王的当下,商标数据的需求一直都高,但是爬取商标数据的难度也是有目共睹的。因为他做了极验这样难度的反扒措施,在爬取过程中即使拿到了cookie后,获取所有详情也很困难,每一部分数据都是一个请求,就一个公司的信息都要几十个请求才能获取到。这里我使用的方式是这样的,通过第一次访问网站获取获取cookie,然后第二次访问加上headers。第三次访问会cookie与ip绑定传入调用类的代理,返回cookie和代理(如果代理过期有变化返回新代理,后续流程携带新代理进行请求),这里我的python程序会使用aiohttp 通过设置代理IP和Proxy-Tunnel切换IP,切换代码如下所示:
代码语言:javascript复制import aiohttp, asyncio
import random
def main():
targetUrl = "http://wcjs.sbj.cnipa.gov.cn/"
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "16yun"
proxyPass = "16ip"
proxyServer = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host" : proxyHost,
"port" : proxyPort,
"user" : proxyUser,
"pass" : proxyPass,
}
userAgent = "Chrome/83.0.4103.61"
# 创建一个TCPConnector对象,设置连接池大小为100,限制每个主机最多10个连接
connector = aiohttp.TCPConnector(limit=100, limit_per_host=10)
async def entry():
# 创建一个客户端会话对象,并传入connector参数
async with aiohttp.ClientSession(connector=connector, headers={"User-Agent": userAgent}) as session:
while True:
# 随机设Proxy-Tunnel,使用随机IP
proxy_tunnel = "{}".format(random.randint(1,10000))
# 发送请求,并设置超时时间为3秒
async with session.get(targetUrl, timeout=3, proxy=proxyServer, proxy_headers={"Proxy-Tunnel":proxy_tunnel}) as resp:
body = await resp.read()
print(resp.status)
print(body)
loop = asyncio.get_event_loop()