自动化抓取stackoverflow问题列表
自动化抓取stackoverflow问题列表
最近在关注stackoverflow上的某一类问题, 所以想用程序帮我做监控,自动打开浏览器,搜索指定关键词,然后把前30个问题列表保存或者发给我。
源代码可以从github获取,以下是我的开发过程.
系统环境
- windows 10
- python 3.0
- clicknium
安装clicknium vscode扩展和python module,参照getting started.
开发思路
- 自动打开浏览器,返回tab对象
tab = cc.edge.open("www.stackoverflow.com")
- 输入关键字,发送{ENTER}快捷键进行搜索
tab.find_element(locator.stackoverflow.text_q).set_text(word)
tab.find_element(locator.stackoverflow.text_q).send_hotkey('{ENTER}')
- 搜索之前,可能会需要进行人机验证,用如下代码进行判断和点击
elem = tab.wait_appear(locator.stackoverflow.human_verification_div, wait_timeout=5)
if elem != None:elem.click()
点击’Newest’,根据时间来排序
利用clicknium的获取相似元素,获取每个问题的标题,vote数量,内容,最后更新时间,以及问题的url
while catch_count < 30:sleep(1)elems_title = tab.find_elements(locator.stackoverflow.a_title)elems_vote = tab.find_elements(locator.stackoverflow.span_vote)elems_content = tab.find_elements(locator.stackoverflow.div_content)elems_time = tab.find_elements(locator.stackoverflow.span_time)for i in range(len(elems_title)):url = "https://www.stackoverflow.com" + elems_title[i].get_property('href')item = {'Keyword':word, 'Title': elems_title[i].get_text(), 'Content': elems_content[i].get_text(),'Time': elems_time[i].get_text(),'Vote': elems_vote[i].get_text(),'Url':url}print(item)catch_count += 1if tab.is_existing(locator.stackoverflow.a_next):tab.find_element(locator.stackoverflow.a_next).click()else:break
以下是问题标题链接的locator
点击’Validate’是可以验证能匹配到单页15个元素的, 通过find_elements1
可以一次性获取到所有的元素列表,然后通过get_text()
获取文本,针对链接,还可以通过get_property('href')
来获取属性href。
自动化抓取stackoverflow问题列表相关推荐
- 利用urllib3 抓取博客列表
利用urllib3 抓取博客列表 分析页面代码 分析正则表达式 完整代码 分析页面代码 从这段代码中可以找到很多规律,例如,每条博客的所有信息都包含在一个 <div> 节点中,这个< ...
- java+selenium自动化抓取51la数据
java+selenium自动化抓取51la数据 初衷 环境依赖 demo上代码 效果来个马赛克 如果觉得写的不错或者想了解更多,欢迎收藏和关注~~ 初衷 前端埋点51la,进行网站统计.51la没有 ...
- 简历自动化抓取,一键get百份求职简历
这次我们就来聊一聊实用性比较高的爬虫案例:简历自动化抓取,一键get百份求职简历. 本次爬取非常顺利,本以为会遇到几个反爬措施,除了定位遇到几个小坑之外,其余地方皆是一帆风顺,值得提一下的地方主要就是 ...
- 自动抓取QQ好友列表?Windows UIA教你轻松实现
目录:导读 引言 选择Windows UIA框架进行自动化测试的原因 查找窗口 读取QQ软件的好友列表 结语 引言 每个使用QQ的人都有自己的好友列表,但是如果你想要查看所有好友信息,手动一个个点击会 ...
- python爬虫(抓取百度新闻列表)
一.python请求要抓取的url页面 要抓取的url http://news.baidu.com/ ,先python模拟请求该url #!/usr/bin/python # -*- coding:u ...
- 使用fiddler自动化抓取微信公众号文章的点赞与阅读数
本文章为lonter首创,只发布在csdn平台,严禁转载 这几天接到任务,需要开发一个微信榜单的功能,因此需要采集微信公众号文章的阅读数,点赞数和评论数,榜单内的微信公众号有一百多个,每个月出一次榜单 ...
- 【Python】抓取淘宝列表页信息
分析每页的url特征 打开淘宝网,搜索 手机 第一页:https://s.taobao.com/search?q=%E6%89%8B%E6%9C%BA&imgfile=&commend ...
- 【爬虫】抓取京东商品列表具体商品的各种评论数量-2019年6月可用
本来只是想简单地抓个好评数,在一开始的搜索结果页面上 然后发现抓不到,用lxml里面etree解析的是空的 问题就变烦了,问了一下前同事,告诉我说是异步渲染的 在这里找到了所有有关评论的请求: 请求得 ...
- app小程序手机端Python爬虫实战01-Uiautomator2自动化抓取工具介绍
作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!
最新文章
- SSE3和SSSE3 Intrinsics各函数介绍
- 初次遇见NLP:从词向量到BERT
- lvs和keepalives
- 4:springApplication.run 原理
- 基于vue,elementui的注册页面源码
- 电脑屏保海底世界_水下栖息地:人类能否在海洋中居住?真的有人住在海底吗?...
- 深入理解cache对写好代码至关重要
- 为什么注册页面刷新一次,数据库就多了一条数据?????
- ROS功能包或其中一部分找不到的奇葩问题及对应解决方案
- init函数的注意事项和细节
- 0基础入门VTD-实操静态道路建模1
- word文档怎样删除最后一页空白页
- 解压技巧: iPhone自带的解压缩功能好强
- 货郎问题java_货郎问题
- 论文阅读:PVO: Panoptic Visual Odometry
- halcon脚本-条形码识别【附源码】
- 内存池简单实现(一)
- is running beyond physical memory limits. Current usage: 1.0 GB of 1 GB physical memory used......
- fluent python 2nd edition_fluent python读书笔记2.2节
- 员工签到系统说明文档