博客
关于我
Selenium实现微博爬虫
阅读量:182 次
发布时间:2019-02-28

本文共 994 字,大约阅读时间需要 3 分钟。

comment = []

username = []

#抓取节点:每个评论为一个节点(包括用户信息、评论、日期等信息),如果一页有20条评论,那么nodes的长度就为20

nodes = driver.find_elements_by_css_selector(‘div.card > div.card-feed > div.content’)

#对每个节点进行循环操作

for i in range(0,len(nodes),1):
#判断每个节点是否有“展开全文”的链接
flag = False
try:
nodes[i].find_element_by_css_selector(“p>a[action-type=‘fl_unfold’]”).is_displayed(http://by.xxadc.com/)
flag = True
except:
flag = False

#如果该节点具有“展开全文”的链接,且该链接中的文字是“展开全文c”,那么点击这个要素,并获取指定位置的文本;否则直接获取文本#(两个条件需要同时满足,因为该selector不仅标识了展开全文,还标识了其他元素,没有做到唯一定位)if(flag and nodes[i].find_element_by_css_selector("p>a[action-type='fl_unfold']").text.startswith('展开全文c')):    nodes[i].find_element_by_css_selector("p>a[action-type='fl_unfold']").click()    comment.append(nodes[i].find_element_by_css_selector('p[node-type="feed_list_content_full"]').text)else:    comment.append(nodes[i].find_element_by_css_selector('p[node-type="feed_list_content"]').text)username.append(nodes[i].find_element_by_css_selector("div.info>div:nth-child(2)>a").text)

转载地址:http://tdfn.baihongyu.com/

你可能感兴趣的文章
netty2---服务端和客户端
查看>>
Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
查看>>
netty——bytebuf的创建、内存分配与池化、组成、扩容规则、写入读取、内存回收、零拷贝
查看>>
netty——Channl的常用方法、ChannelFuture、CloseFuture
查看>>
netty——EventLoop概念、处理普通任务定时任务、处理io事件、EventLoopGroup
查看>>
netty——Future和Promise的使用 线程间的通信
查看>>
netty——Handler和pipeline
查看>>
Vue输出HTML
查看>>
netty——黏包半包的解决方案、滑动窗口的概念
查看>>
Netty中Http客户端、服务端的编解码器
查看>>
Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息
查看>>
Netty中实现多客户端连接与通信-以实现聊天室群聊功能为例(附代码下载)
查看>>
Netty中的组件是怎么交互的?
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
netty之 定长数据流处理数据粘包问题
查看>>
Netty事件注册机制深入解析
查看>>
netty代理
查看>>
Netty入门使用
查看>>
netty入门,入门代码执行流程,netty主要组件的理解
查看>>
Netty原理分析及实战(一)-同步阻塞模型(BIO)
查看>>