山东大学RISC-V公共开放平台开发记录

山东大学RISC-V公共开放平台开发记录

3.1-3.6

进行risc-V的开源资源的收集

使用Python+Selenium做爬虫爬取知网,新闻网站等与risc-V相关的论文,新闻资源,为网站未来的开发和后端的调用提供资源基础。

Selenium简介

Selenium 的初衷是打造一款优秀的自动化测试工具,但是慢慢的人们就发现,Selenium 的自动化用来做爬虫正合适。我们知道,传统的爬虫通过直接模拟 HTTP 请求来爬取站点信息,由于这种方式和浏览器访问差异比较明显,很多站点都采取了一些反爬的手段,而 Selenium 是通过模拟浏览器来爬取信息,其行为和用户几乎一样,反爬策略也很难区分出请求到底是来自 Selenium 还是真实用户。而且通过 Selenium 来做爬虫,不用去分析每个请求的具体参数,比起传统的爬虫开发起来更容易。Selenium 爬虫唯一的不足是慢,如果你对爬虫的速度没有要求,那使用 Selenium 是个非常不错的选择。Selenium 提供了多种语言的支持(Java、.NET、Python、Ruby 等),不论你是用哪种语言开发爬虫,Selenium 都适合你。

Selenium的爬取操作与用户的真实操作十分相似,处理速度较慢以外几乎没有缺点。

Selenium可以做到与网页进行输入和输出的交互操作。

在提取网页资源时通过find_element方法提取网页要素

主要方式:by_class_name,by_id,by_xpath,by_css_sector,其中xpath方式对于没有显式的标识的元素的提取有奇效。

主要问题:由于网页的加载时间问题,在网页未加载完全时无法提取网页元素(Ajax页面)

解决方法:1. 使用time.sleep方法,简单且有效,但有浪费时间的可能,或者需要在不同时间不同网站设置不同 参数,过于复杂

​ 2. 使用WebDriverWait和expected_condition,可以对Ajax动态加载提供有效且可读的解决方式

部分知网爬虫代码

*while* True:

   time.sleep(2)
    *#当前窗口柄*

    now_handle = driver
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值