python+selenium实现cookie登录,并抓取指定类class下的html内容

个人研究学习研究用

1、首先通过链接手动登录,https://www.educity.cn/。获取cookie信息

 

2、再使用站点cookie登录,跳转到https://uc.educity.cn/tiku/testReport.html?id=8067641,通过F12获取<div class="shitiText lh2">发现规律,所有答案部分都有shitiText

3、然后使用find_elements_by_class_name方法获取所有shitiText 下的内容,写入到html中

 

4、安装 selenium

pip install selenium

5、完整代码,

#!/usr/bin/python
import time
from selenium import webdriver
i = 0

base_url = 'https://www.educity.cn/login.html'
browser = webdriver.Chrome()
browser.maximize_window()
browser.implicitly_wait(10)
# browser.get(base_url)

# 使用cookie登录
browser.get(base_url)
cookies = {'name': 'cstk', 'value': 'e2e87cfa2d03cb692792a3f94a0bfedc', 'domain': 'educity.cn', 'path': '/', 'httpOnly': False, 'secure': False, }
browser.delete_cookie(cookies['name'])
browser.add_cookie(cookies)
browser.get(base_url)

# 登录后跳转到题目页面 2019年上半年软件设计师考试上午真题(专业解析+参考答案)
'''name = "2019年上半年软件设计师考试上午真题(专业解析+参考答案).html"
url = "https://uc.educity.cn/tiku/testReport.html?id=8064126"'''

name = "2019年下半年软件设计师考试上午真题(专业解析+参考答案).html"
url = "https://uc.educity.cn/tiku/testReport.html?id=8067641"

browser.get(url)
time.sleep(2)  # 等待5秒,等待网页加载完成
# 定位答案位置
like = browser.find_elements_by_class_name('shitiText')
# lists = []
bg = open(name, 'w+', encoding='utf-8')
for x in range(0, len(like)):
    # a = like[x].text 获取文本
    # 获取html
    a = like[x].get_attribute('innerHTML')
    # 删除头尾空格
    a = a.strip()
    # lists.append(a)
    bg.write('<h1>'+str(i)+'</h1>'+a)
    i += 1
bg.close()


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值