爬虫学习心得
Posted 玩_家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫学习心得相关的知识,希望对你有一定的参考价值。
编写了自动读取spoc试卷,修正成绩的python爬虫,使用的是selenium模拟浏览器来做的。下面讲一下步骤和踏过的坑
1) 登录时用手机扫码,没有用用户名和密码登陆,5秒钟,time.sleep(5),慢一点就超时了
2) 登陆之后直接到目标网页,目标网页找到按钮单击,会出现问题。
同样的代码,前面可以执行,后面无法执行,百度之后发现,控件在某些情况下不在前面,点击到其他控件上了。用3种方法可以解决。
a) 等待,
WebDriverWait(web,30).until(EC.element_to_be_clickable((By.XPATH,realstu))),等待
b) js脚本:web.execute_script("arguments[0].click()",estu)
c) 执行后两者:web.execute_script("arguments[0].click()",estu)
ab都试过可以,a需要等待太慢
3) 窗口切换
a) 单击出现新窗口之后,用web.switch_to.window(web.window_handles[-1])转到新窗口上
b) 处理完毕,关闭web.close()
c) 回到原来窗口,web.switch_to.window(web.window_handles[0])
4) 文件为ansi格式时,有些中文写不进去,比如龚,需要转换为utf-8才行
5) 字符串可以直接用 %
如a=’我有%d岁‘,b=a%5
6) 查找element,有几种方法
a) xpath, 直接用xpath,如果xpath中有动态内容,无法获取,可以用
find_elements_by_xpath("//textarea[starts-with(@id,\'auto-id\')]")
starts-with
contains-with
ends-with
都可以
b) selector
c) class_name
7) 在控件上写时,定位之后,无法删除,目前存在问题
以上是关于爬虫学习心得的主要内容,如果未能解决你的问题,请参考以下文章