爬虫代理的cookie如何生成运行
HTTP是用于互联网传输数据信息到本地的一种传送协议
我们在浏览器中输入输入关键词,会返回页面内容。这就是我们用浏览器向网站所在的服务器发送了一个请求,网站的服务器接收到这个请求后进行解析,然后把网页内容呈现出来。
有时候服务器网站会检测IP在一个时间段内的请求次数,如果过于频繁,就会拒绝服务,简称为封IP。
HTTP代理就是用别人的IP进行访问,进行IP伪装。
除非是访问网站或APP专用数据api接口,正常的HTTP请求都需要进行ua(User-Agent)优化,因为ua是浏览器标识,如果http请求没有ua,或ua太少,都会被网站运维统计异常的,ua越丰富分布就越真实。cookie最好是登陆获取的,一般访客的cookie,对方限制会比较严格,可以控制一个地区新访客的访问频率。另外反爬统计的js也要分析下,是不是做了机器人判断,有没有做窗口分辨率判断等。
生成cookie:
importos importtime importzipfile fromseleniumimportwebdriver fromselenium.common.exceptionsimportTimeoutException fromselenium.webdriver.common.byimportBy fromselenium.webdriver.supportimportexpected_conditionsasEC fromselenium.webdriver.support.uiimportWebDriverWait classGenCookies(object): USER_AGENT=open('useragents.txt').readlines() #www.16yun.cn代理配置 PROXY_HOST='t.16yun.cn'#proxyorhost PROXY_PORT=31111#port PROXY_USER='USERNAME'#username PROXY_PASS='PASSWORD'#password
defopen(self): """ 打开网页输入用户名密码并点击 :return:None """ self.browser.delete_all_cookies() self.browser.get(self.url) username=self.wait.until(EC.presence_of_element_located((By.ID,'loginName'))) password=self.wait.until(EC.presence_of_element_located((By.ID,'loginPassword'))) submit=self.wait.until(EC.element_to_be_clickable((By.ID,'loginAction'))) username.send_keys(self.username) password.send_keys(self.password) time.sleep(1) submit.click() defpassword_error(self): """ 判断是否密码错误 :return: """ try: returnWebDriverWait(self.browser,5).until( EC.text_to_be_present_in_element((By.ID,'errorMsg'),'用户名或密码错误')) exceptTimeoutException: returnFalse defget_cookies(self): """ 获取Cookies :return: """ returnself.browser.get_cookies()
运行cookie:
API接口开始运行
*Runningonhttp://0.0.0.0:5000/(PressCTRL+Ctoquit)
Cookies生成进程开始运行
Cookies检测进程开始运行
正在生成Cookies账号180000000密码16yun
正在测试Cookies用户名180000000
Cookies有效180000000
如果HTTP请求成功,HTTP的状态码会返回200且返回数据。当然其他HTTP其他状态码也有,403表示禁止访问,504服务器内部出错等等。
以上就是爬虫代理的cookie如何生成运行的详细内容,更多关于爬虫代理cookie的资料请关注毛票票其它相关文章!