提交 12fce26b 作者: LiuLiYuan

企查查cookie 05/23

上级 6c7e4c57
"""模拟扫码登录""" """模拟扫码登录"""
import datetime
import json import json
import time import time
import pymongo
import requests import requests
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from selenium import webdriver from selenium import webdriver
from selenium.webdriver.chrome.service import Service from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.ui import WebDriverWait
...@@ -13,57 +15,74 @@ from selenium.webdriver.support import expected_conditions as EC ...@@ -13,57 +15,74 @@ from selenium.webdriver.support import expected_conditions as EC
from base.BaseCore import BaseCore from base.BaseCore import BaseCore
from pymysql.converters import escape_string from pymysql.converters import escape_string
baseCore = BaseCore() baseCore = BaseCore()
log = baseCore.getLogger() log = baseCore.getLogger()
cnx_ = baseCore.cnx cnx_ = baseCore.cnx
cursor_ = baseCore.cursor cursor_ = baseCore.cursor
db_storageInsert = pymongo.MongoClient('mongodb://114.115.221.202:27017', username='admin', password='ZZsn@9988').ZZSN[
'企查查登录信息']
def createDriver(): def createDriver():
chrome_driver = r'D:\cmd100\chromedriver.exe' # path = r'D:\soft\msedgedriver.exe'
path = Service(chrome_driver) path = r'F:\spider\117\msedgedriver.exe'
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = r'D:\Google\Chrome\Application\chrome.exe' options = {
# 设置代理 "browserName": "MicrosoftEdge",
# proxy = "127.0.0.1:8080" # 代理地址和端口 "ms:edgeOptions": {
# chrome_options.add_argument('--proxy-server=http://' + proxy) "extensions": [], "args": ["--start-maximized"] # 添加最大化窗口运作参数
driver = webdriver.Chrome(service=path, chrome_options=chrome_options) }
return driver }
edge_options = Options()
edge_options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 禁用启用Blink运行时的功能
edge_options.add_argument('--disable-blink-features=AutomationControlled')
session = webdriver.Edge(executable_path=path, capabilities=options)
return session
def flushAndGetToken(): def flushAndGetToken():
log.info('======刷新浏览器=====') log.info('======刷新浏览器=====')
browser.refresh() browser.refresh()
cookie_list = browser.get_cookies() cookie_list = browser.get_cookies()
cookies = {}
print(cookie_list)
# for cookie in cookie_list:
# cookies[cookie['name']] = cookie['value']
# print(cookies)
# return cookies
print(type(cookie_list))
return cookie_list return cookie_list
if __name__ == "__main__":
urlqcc = 'https://www.qcc.com/'
browser = createDriver()
browser.get(urlqcc)
wait = WebDriverWait(browser, 10)
wait.until(EC.presence_of_element_located((By.CLASS_NAME, "nav-item")))
# page_source = browser.page_source
# soup = BeautifulSoup(page_source,'html.parser')
# print(soup)
browser.find_element(By.CLASS_NAME, 'nav-item').click()
time.sleep(20)
cookies = flushAndGetToken()
# print(cookies)
# cookies = json.dumps(cookies)
cookies = str(cookies)
# print(cookies)
insert = f"insert into QCC_token (cookies,create_time,fenghao_time,update_time) values ('{escape_string(cookies)}',now(),DATE_SUB(NOW(), INTERVAL 1 DAY),now())"
cursor_.execute(insert)
cnx_.commit()
if __name__ == "__main__":
while True:
userName = input('请输入登录账号:')
urlqcc = 'https://www.qcc.com/'
browser = createDriver()
browser.get(urlqcc)
wait = WebDriverWait(browser, 10)
wait.until(EC.presence_of_element_located((By.CLASS_NAME, "nav-item")))
browser.find_element(By.CLASS_NAME, 'nav-item').click()
while True:
try:
wait.until(EC.presence_of_element_located((By.CLASS_NAME, "login-madal-dialog-new")))
time.sleep(5)
except:
break
browser.get('https://www.qcc.com/web/search?key=%E9%B2%81%E8%A5%BF%E5%8D%97%E5%8C%BB%E9%99%A2%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8')
time.sleep(2)
cookies = flushAndGetToken()
cookies = str(cookies)
# dic = {
# 'userName':userName,
# 'cookies':cookies,
# 'createDate':datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
# 'fenghaoTime':(datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S'),
# 'updateDate':datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# }
insert = f"insert into QCC_token (cookies,create_time,fenghao_time,update_time,user_name) values ('{escape_string(cookies)}',now(),DATE_SUB(NOW(), INTERVAL 1 DAY),now(),'{userName}')"
print(insert)
cursor_.execute(insert)
cnx_.commit()
# db_storageInsert.insert_one(dic)
browser.close()
flg = input('是否继续登录')
if flg == 'N' or flg == 'n':
break
baseCore.close() baseCore.close()
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论