自动化抓取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 = 1
if 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。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfifjke
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01