使用selenium进行对手机知网的爬取

在留校期间,学习了selenium这个强大的python库,它的使用完全解决了对一些经过js渲染的网页的解析和爬取,它可以实现人对网页的基本操作,这样也网站上的反爬有了很有效的解决,虽然单体运行速度是慢了,但是在之后可以把它加入到Scrapy框架里面,然后实现分布式,提高爬去速度的,接下来我讲讲我是用它进行的一个对手机知网的文献标题和作者还有简介的爬取。

1.在大家使用selenium之前,要先下载好使用的浏览器的驱动,我使用的是谷歌Chrome的驱动,只要搜索Chromedriver进行对应版本的下载,之后把下载好的exe文件移入代码所对应的文件夹里面就行
2.先上代码

from selenium import webdriver
import time
m=input()
browser=webdriver .Chrome ()
url='http://wap.cnki.net/touch/web/guide'
browser.get(url)
input=browser .find_element_by_xpath('//*[@id="keyword"]')
input.send_keys(m)
put=browser.find_element_by_xpath('//*[@id="btnSearch "]')
put.click()
for i in range(0,5):
    pput = browser.find_element_by_xpath('//*[@id="nextpage_a"]')
    pput.click()
time.sleep(5)
result=browser.find_element_by_xpath('//*[@id="searchlist_div"]')
with open('zhiwang.text','a',encoding= 'utf-8')as fp:
    fp.write(result.text)
print(result.text)

3.代码的讲解
input=browser .find_element_by_xpath(’//[@id=“keyword”]’)
put=browser.find_element_by_xpath(’//
[@id="btnSearch "]’)
这两行代码无非就是在网页上找到搜索栏对应的路径和搜索对应的路径,进行想要查询的m的输入,之后会自动打开一个网页进行输入搜索进入到接下来的网页
搜索人工智能
在这里插入图片描述
进入网页搜索
在这里插入图片描述

for i in range(0,5):
    pput = browser.find_element_by_xpath('//*[@id="nextpage_a"]')
    pput.click()

找到的是最下面的加载更多这个标签对应的路径,进行了五次点击,当然大家可以进行自己设置

time.sleep(5)
result=browser.find_element_by_xpath('//*[@id="searchlist_div"]')
with open('zhiwang.text','a',encoding= 'utf-8')as fp:
    fp.write(result.text)
print(result.text)

等待一段时间然后在加载完后的页面里面找到自己要的信息,进行存储,输出
在这里插入图片描述
在这里插入图片描述
4.总结
使用selenium还可以干很多事,验证码的输入,滑动和各种操作交互式操作都可以实现,在之后我可能还会发相关的实例供大家探讨学习

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值