Selenium在异步加载中的应用简书文章异步加载Selenium代码代码分析

简书文章异步加载

之前爬虫小分队的第一次作业就是爬取简书七日热门,同学们应该知道部分数据是异步加载的,对于阅读,评论,喜欢的抓取数据策略为使用正则表达式匹配,收录专题就是找包来获取数据的。

Selenium代码

from selenium import webdriver
url = 'http://www.jianshu.com/p/c9bae3e9e252'
def get_info(url):
    include_title =[]
    driver = webdriver.PhantomJS()
    driver.get(url)
    driver.implicitly_wait(20)
    author = driver.find_element_by_xpath('//span[@class="name"]/a').text
    date = driver.find_element_by_xpath('//span[@class="publish-time"]').text
    word = driver.find_element_by_xpath('//span[@class="wordage"]').text
    view = driver.find_element_by_xpath('//span[@class="views-count"]').text
    comment = driver.find_element_by_xpath('//span[@class="comments-count"]').text
    like = driver.find_element_by_xpath('//span[@class="likes-count"]').text
    included_names = driver.find_elements_by_xpath('//div[@class="include-collection"]/a/div')
    for i in included_names:
        include_title.append(i.text)
    print(author,date,word,view,comment,like,include_title)
get_info(url)

由于只搞了一个页面的,没有存入数据库,就打印了结果。

代码分析

由于selenium是加载了javascript的,所以我们用chrome浏览器,直接检查的xpath路径就能提取到信息,以收录专题为例,检查元素,来构造xpath路径,这样就不用找包啦。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沈唁志

WordPress手动更新最新版本 附临时终极解决方案

8644
来自专栏Spring相关

Vue路由router-link的使用

1272
来自专栏IT杂记

Windows查看文件句柄

图形界面方式     打开任务管理器 ?      2. 性能tab,点击链接打开资源监视器; ?     3. 现在cpu tab,关联的句柄后面的输入框可以...

2409
来自专栏吴伟祥

Fiddler是位于客户端和服务器端的HTTP代理(目前最常用的http抓包工具之一)

抓包工具有很多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下:

1194
来自专栏地方网络工作室的专栏

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(四)调整 App.vue 和 router 路由

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(四)调整 App.vue 和 router 路由 前情回顾 在上一篇《V...

2209
来自专栏owent

Webpack+vue+boostrap+ejs构建Web版GM工具

Web前端的组件技术刷新真的是日新月异,前段时间看到很多童鞋分享了webpack的使用,刚好之前做我们游戏里Web版的GM工具的时候正在想怎么用简单的方式,做模...

2902
来自专栏coding...

解决Xcode9.3 Module compiled with Swift 4.0.3 cannot be imported in Swift 4.1更新Xcode9.3 swift4.1 后可怕的e

最近升级了Xcode9.3,对应的swift版本是4.1。 发现在编译时发生了一些要命错误。。。

952
来自专栏向治洪

React Native库版本升级与降级

迄今为止React Native获得了超过48K的star,最新版本0.44,已经趋于稳定。(官网地址:https://github.com/facebook/...

2485
来自专栏张善友的专栏

Node.js入门学习笔记-IDE选择/配置之WebStorm(windows)

Node.js是什么?! http://www.ibm.com/developerworks/cn/opensource/os-nodejs/index.htm...

2967
来自专栏Debian社区

Debian 9.2 发布,大量问题修复

Debian 9.2 发布了。此次发布情况特殊,使用”apt-get“工具执行升级的用户将需要确保使用”dist-upgrade“命令,以便更新到最新的内核软件...

671

扫码关注云+社区