前言:
今天同学们对“selenium 登陆”都比较注重,咱们都需要了解一些“selenium 登陆”的相关资讯。那么小编同时在网络上收集了一些有关“selenium 登陆””的相关内容,希望朋友们能喜欢,同学们一起来学习一下吧!使用selenium模拟登录到网站后,利用requests爬取数据,用bs4解析数据,用xlwt保存到excel。
自定义了2个函数:getData()用于获取数据,使用for循环获取多个页面的数据,解析后的数据保存到列表中;saveData(datalist, savepath)用于保存数据,参数datalist是保存的数据,参数savepath是保存的路径,写入数据时使用了双重循环。
from selenium import webdriverimport timeimport requestsfrom bs4 import BeautifulSoupimport xlwt # 电子表格操作模块browser = webdriver.Chrome(r'C:\Users\guo\Desktop\renshe\chromedriver.exe')headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', }browser.get('https://网址/register/#/login?_k=ax56bx')browser.find_element_by_xpath('/html/body/div/div/div/div[2]/div/div[2]/div[1]/div[2]/form/div[3]/span[2]/input').send_keys('用户名')browser.find_element_by_xpath('/html/body/div/div/div/div[2]/div/div[2]/div[1]/div[2]/form/div[4]/span[2]/input').send_keys(',密码')time.sleep(1)browser.find_element_by_xpath('/html/body/div/div/div/div[2]/div/div[2]/div[1]/div[2]/form/div[6]/button[1]').click()time.sleep(1)def getData(): # 获取数据函数 datalist = [] # 总的数据列表 for i in range(1,65): url = 'https://网址/ApplyCollegeNew?page='+str(i) page_text = requests.get(url=url, headers=headers, timeout=10).text # 实例化bs对象,加载页面源码 soup = BeautifulSoup(page_text, 'lxml') # 数据解析,返回列表[] li_list = soup.select('#collegesLists > li') # 循环列表 for li in li_list: data = [] # 定义列表,用于保存每一行的数据 title=li.select('.collegeFeature >h3>a')[0].string data.append(title) detail=li.select('.collegeFeature')[0].text data.append(detail) datalist.append(data) # 将每行列表添加到总列表 return datalistdef saveData(datalist, savepath): print('save....') book = xlwt.Workbook(encoding='utf-8') sheet = book.add_sheet('大学列表', cell_overwrite_ok=True) col = ('学校名称', '其他说明') # 表头字段名的写入 for i in range(0, len(col)): # 元组是不可变的,len取长度 sheet.write(0, i, col[i]) # 列名 # 数据记录的写入 for i in range(0, len(datalist)): # 使用len(列表)获得长度 data = datalist[i] for j in range(0, len(data)): sheet.write(i+1, j, data[j]) book.save(savepath) print('save ok....')if __name__ == "__main__": savepath = '大学数据.xls' datalist = getData() saveData(datalist, savepath)
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #selenium 登陆