仅供学习交流。
一 登录
进入登录页面,找到登录框并利用selenium中的send_keys方法输入用户名、密码。Keys_ENTER则是模拟回车。
刚开始不明白怎么确定xpath,后来发现chrome中有插件Xpath Helper
部分登录时需要验证,可自行根据需要的时间长短更改time.sleep()的参数
二 点赞
利用find_elements_by_xpath返回一个列表,然后判断其内容是否包括关键词。
而如果用find_element_by_xpath如果第一个元素中不包含关键词,则返回的一直是该元素,无法继续对下一个评论进行判断。
三 话题
刚开始的思路是直接发送get请求,但是不确定会不会算话题的阅读量,因为微博阅读量的统计并不会精确到个位。
后来一想为什么不直接用selenium模拟搜索呢?看起来很真!!而且也不用登录,可以随便发送请求
中间问题在于搜索按钮没法利用回车或者click(),后来发现原来是按钮被隐藏了,需要鼠标悬停在此处才能点击。
ActionChains是个好东西,一步搞定
ActionChains介绍
四 小结
刚开始觉得很多很难,但是最后发现总共才几十行代码2333。
比如xpath,刚开始惊奇于怎么知道那些元素的xpath就是这个的,经过暴力搜原来是因为有神器(当然也可以通过肉眼看源代码)。
点赞特定评论的改动,(不得不说灵感的来源就是这么奇妙,看selenium文档的时候,那个find_element和find_elements当时不过就是一惊一瞥,后来竟然成了关键性的一步)
按钮的隐藏,刚开始总以为是自己找错了,试了各种xpath 都没办法,还是暴力搜比较舒适,发现按钮隐藏这一说。(一行代码的来历竟然如此痛苦
总结起来就是一句话:暴力搜就是坠吊的!
五 参考文献
https://blog.csdn.net/yljwhat/article/details/107727301?utm_source=app&tdsourcetag=s_pctim_aiomsg
https://blog.csdn.net/gufenchen/article/details/90274169
https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html