用Jupyter—Notebook爬取网页数据实例15(详讲selenium库)

用selenium库爬取起点中文网小说

做个重情人,不谈亏欠,不负遇见!
在这里插入图片描述

1、引入selenium库

from selenium import webdriver

2、打开一个谷歌前端驱动

browser = webdriver.Chrome()

3、获取网页源代码

browser.get('https://www.qidian.com/all?chanId=6&subCateId=65&orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0')

4、输出网页信息

print(browser.page_source)

5、获取所需数据

browser.find_elements_by_class_name('book-img-text')[0].text
#'从军事片开始当大佬\n骑龙攀天\n|\n军事\n·\n军事战争\n|\n连载\n九月骄阳下的上京电影旅游城。跑了两个月龙套的李南池蹲在巴掌大的水塘边怔怔发呆,他发誓再来这里,自己也能走出个人五人六出来......多年以后,奥斯卡颁奖典礼上,“二战片质量保证”“史诗级战争片教父”“\n𘞮𘞬𘞩𘞱𘞬万字\n大秦工程兵\n远征士兵\n|\n军事\n·\n军事战争\n|\n连载\n机械设计专业的沈兵穿越到秦朝。他只想简简单单的活下来,谁曾想这是个非生即死的世界,不思进取就会被淘汰。手无缚鸡之力的沈兵只能用发明来武装自己,改良投石机,双倍射程下敌人连根毛都碰不到,躺着就把对面打翻\n𘞮𘞭𘞩𘞦𘞬万字\n从士兵突击开始的影视剧特种兵\n龙战将\n|\n军事\n·\n军事战争\n|\n连载\n轮到郑英奇讲他的经历了,他慢吞吞的靠在了箱子上,惘望着天空,慢慢说道:我啊,在《士兵突击》里面受过训,也在《我是特种兵》的世界里面虐过菜鸟,后来啊,我也曾在《亮剑》里面打过仗,也在《兄弟连》里面服过役\n𘞱𘞮𘞯𘞩𘞱𘞦万字\n从火凤凰开始打卡\n纳兰凌云\n|\n军事\n·\n军事战争\n|\n连载\n只解沙场为国死,何须马革裹尸还!韩双穿越到特种兵世界,获引擎残片支持,在这个危险和机遇并存的世界,他在用生命诠释一个属于士兵的浴血传奇!\n𘞮𘞱𘞩𘞭𘞫万字\n从亮剑开始的战争系统\n万界诸佛\n|\n军事\n·\n军事战争\n|\n完结\n新书《抗战之兵临城下》希望大家支持。我以为《亮剑》是我战争生涯的结束,没想到却是开始。为了生存,我去了《太平洋战争》。去了《珍珠港》。去了《中途岛之战》。我还去了《兵临城下》和《硫磺岛》。我甚至还去了\n𘞱𘞨𘞦𘞩𘞨𘞰万字\n红色莫斯科\n涂抹记忆\n|\n军事\n·\n军事战争\n|\n连载\n重生为红军米沙!\n𘞦𘞬𘞰𘞩𘞮𘞭万字\n军工霸业\n止天戈\n|\n军事\n·\n军事战争\n|\n完结\n你听过洛克?马丁公司吗?没听过,那一定听过F22和F35隐身战斗机,“宙斯盾”武器系统吧,没错,这些都是它生产的。你听过诺思-格鲁门公司吗?它是尼米兹级”航空母舰,“弗吉尼亚级”核潜艇,“大黄蜂级”两\n𘞬𘞬𘞭𘞩𘞫𘞮万字\n穿越民国之也很精彩\n我是队长开枪\n|\n军事\n·\n军事战争\n|\n连载\n乱世草莽称雄天下,民国的世界也很精彩。新旧交替的混乱,东西方文明的倾轧,海洋霸权的崛起,这是一个波澜壮阔的时代,野心家的乐土,也是一个给我们留下很多伤痛和遗憾的时代。但现在我来了!\n𘞦𘞦𘞩𘞭𘞱万字\n战争承包商\n风三十五\n|\n军事\n·\n军事战争\n|\n完结\n老兵余志乾是一个和平主义者,梦想就是有一个属于自己的公司,直到他得到一个坑爹的系统。从《红海行动》到芬兰雪原,从墨西哥雨林再到浩瀚星空,为了活下去,余志乾不得不一次次的拿起武器。\n𘞱𘞰𘞱万字\n高危职业\n风三十五\n|\n军事\n·\n军事战争\n|\n完结\n八年老兵余洋,无意间进入无尽杀戮场,再次扛枪上阵。从索马里到斯大林格勒,从中东沙漠到南美洲热带雨林,野兽,敌人,甚至你身后的友军都会带走你的生命!这是一个高度危险的职业!书友群:651835345(已\n𘞨𘞯𘞦𘞩𘞮万字\n重装军火商\n重装坦克\n|\n军事\n·\n军事战争\n|\n完结\n发新书了!《美漫悍刀行》英雄?不要啦!英雄的命都不长的。我就是想赚点小钱钱,过上腐朽日子的刀客!没钱?麻烦出门左转。不送!(两本完本小说做人品保证。放心收藏点击!)(群:二八五……710……五一四)\n𘞱𘞦𘞬𘞩𘞫𘞫万字\n战地医生秦恩\n辰侯\n|\n军事\n·\n军事战争\n|\n连载\n秦恩只是一名普通的医学生,直到他得到了一个战地医生系统,让他不得不去面对那如同地狱般的战场,去抢救不断哀嚎将死的士兵。他救人无数,受人尊敬,只是没人知道,为什么明明身体健康的他,始终要拄着拐杖。书友群\n𘞪𘞱𘞩𘞬𘞫万字\n诡刺\n纷舞妖姬\n|\n军事\n·\n军事战争\n|\n完结\n在特种部队,狙击手的代号,一般用“鹰”,擅长丛林狙击的狙击手,叫“绿鹰”,精通山地作战的,叫“山鹰”。专门负责保护重要目标的职业军人,或者在战场上负责为受伤队友实施急救的队医,代号中一般会有“衫”字,\n𘞱𘞱𘞫𘞩𘞭𘞱万字\n第五部队\n纷舞妖姬\n|\n军事\n·\n军事战争\n|\n完结\n当国破家亡,当山河破碎,当强敌入侵,当一个民族面对生死存亡,我们需要的是最血腥,最狂放,最张扬,最能激发起每一个士兵不屈、不败战魂的铁血英雄!我们需要的,是一支以坚攻坚,以强克强,强大的可以让任何强敌\n𘞮𘞭𘞩𘞰𘞨万字\n无限军功从亮剑副本开始\n深思文学\n|\n军事\n·\n军事战争\n|\n连载\n什么他娘的精锐,老子打的就是精锐!叮:击杀日军少尉一名,获取100军功。击杀日军大佐一名,获取2000军功。百万军功朝夕成,名垂青史王侯梦!无限军功,从亮剑副本开始,与宿敌征战,穿梭于各大经典影视副本\n𘞨𘞩𘞮𘞨万字\n最佳军旅导演\n黑店大掌柜\n|\n军事\n·\n军事战争\n|\n连载\n“余导你好,恭喜你继《亮剑》等多部剧之后新剧《我的团长我的团》收视率破纪录,但有人说你只会拍电视剧不会拍电影,请问你怎么看?”余二三抬头看了看天空:“我最近在拍的一部战争题材的电影,7月1号上映!”“\n𘞪𘞰𘞩𘞭万字\n从炮灰到王者\n落花为谁\n|\n军事\n·\n军事战争\n|\n连载\n为族人甘为炮灰,遭遣弃不忘初心。组神威名震大陆,施仁政一统江山。时也!命也!胸有韬略,却无野心的李东生,在形势的逼迫下,走上一条-异于常人的封王路。\n𘞱𘞪𘞯𘞩𘞪𘞫万字\n回到民国去打仗\n令狐讲故事\n|\n军事\n·\n军事战争\n|\n连载\n一场手术竟然穿越回到了那个混乱的时代,适逢乱世,各地豪杰并起,一个现代人步步为营,从一个平头百姓,慢慢变成了一个铁血的军人!\n𘞱𘞬𘞩𘞪𘞨万字\n乱世之王\n菠菜面筋\n|\n军事\n·\n军事战争\n|\n完结\n肖成本是一名军人,但是意外穿越,附身到岐国宁侯李尧的身上,既然苍天不想他死,他自然不能浪费第二次生命,兴修水利,改革农田,现代治军,深得民心,这时一个诸侯已经满足不了他的野心,于是乱世之中就多了一双步\n𘞫𘞱𘞩𘞦𘞦万字\n桃源剿匪记\n余汉崇\n|\n军事\n·\n军事战争\n|\n完结\n解放军以一个加强连为剿匪移动根据地,进入桃源堡和桃源县城里,与凶残狡猾的土匪进行无数次的生死搏斗,最终消灭百年的匪患。\n𘞱𘞨𘞯𘞩𘞫𘞰万字'
browser.find_elements_by_class_name('book-img-text')[0].find_elements_by_class_name('book-mid-info')[0].find_elements_by_tag_name('h4')[0].text
#'从军事片开始当大佬'
browser.find_elements_by_class_name('book-img-text')[0].find_elements_by_class_name('book-mid-info')[0].find_elements_by_class_name('author')[0].text.replace('\n','')
#'骑龙攀天|军事·军事战争|连载'
browser.find_elements_by_class_name('book-img-text')[0].find_elements_by_class_name('book-mid-info')[0].find_elements_by_class_name('intro')[0].text
#'九月骄阳下的上京电影旅游城。跑了两个月龙套的李南池蹲在巴掌大的水塘边怔怔发呆,他发誓再来这里,自己也能走出个人五人六出来......多年以后,奥斯卡颁奖典礼上,“二战片质量保证”“史诗级战争片教父”“'
for i in browser.find_elements_by_class_name('book-mid-info'):
    print(i.find_elements_by_tag_name('h4')[0].text,
          i.find_elements_by_class_name('author')[0].text.replace('\n',''),
          i.find_elements_by_class_name('intro')[0].text)

6、引入pandas库,定义存储列表,将数据在列表中输出

from selenium import webdriver
import pandas as pd

mc=[]
zz=[]
jj=[]

for i in range(6):
    url='https://www.qidian.com/all?chanId=6&subCateId=65&orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page='+str(i)
    browser = webdriver.Chrome()
    browser.get(url)
    
    for i in browser.find_elements_by_class_name('book-mid-info'):
        mc.append(i.find_elements_by_tag_name('h4')[0].text)
        zz.append(i.find_elements_by_class_name('author')[0].text.replace('\n',''))
        jj.append(i.find_elements_by_class_name('intro')[0].text)
pd.DataFrame({'名称':mc,'作者':zz,'简介':jj})

在这里插入图片描述
7、引入openpyxl库,将数据保存至Excel中

data=pd.DataFrame({'名称':mc,'作者':zz,'简介':jj})
import openpyxl
writer=pd.ExcelWriter('QDZWW.xlsx')
data.to_excel(writer,'爬虫数据')
writer.save()

8、引入os库,查看保存文件夹

import os
os.getcwd()

9、代码汇总

#引入selenium、 pandas、openpyxl库
from selenium import webdriver
import pandas as pd
import openpyxl
#定义存储变量
mc=[]
zz=[]
jj=[]
#获取网页源代码
for i in range(6):
    url='https://www.qidian.com/all?chanId=6&subCateId=65&orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page='+str(i)
    browser = webdriver.Chrome()
    browser.get(url)
#解析源代码,提取所需数据信息     
    for i in browser.find_elements_by_class_name('book-mid-info'):
        mc.append(i.find_elements_by_tag_name('h4')[0].text)
        zz.append(i.find_elements_by_class_name('author')[0].text.replace('\n',''))
        jj.append(i.find_elements_by_class_name('intro')[0].text)
pd.DataFrame({'名称':mc,'作者':zz,'简介':jj})
data=pd.DataFrame({'名称':mc,'作者':zz,'简介':jj})
writer=pd.ExcelWriter('QDZWW.xlsx')
data.to_excel(writer,'爬虫数据')
writer.save()

在这里插入图片描述

  • 1
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Jupyter Notebook是一个强大的交互式开发环境,可以用于爬取数据并进行数据分析。结合Selenium框架,你可以模拟浏览器的操作来抓取网页数据。下面是一个简单的步骤来使用Jupyter NotebookSelenium爬取数据并进行数据分析: 1. 安装Jupyter NotebookSelenium。你可以使用pip命令来安装它们: ``` pip install jupyter pip install selenium ``` 2. 启动Jupyter Notebook。在命令行中运行以下命令: ``` jupyter notebook ``` 3. 创建一个新的Notebook。点击"New"按钮,选择"Python 3"来创建一个新的Notebook。 4. 导入必要的。在Notebook的第一个代码单元格中,导入所需的: ``` from selenium import webdriver import time ``` 5. 配置Selenium的Webdriver。选择一个合适的Webdriver,如Chrome或Firefox,并将其配置到Selenium中。例如,如果你选择Chrome,你需要下载ChromeDriver,并将其添加到你的系统路径中: ``` driver = webdriver.Chrome() ``` 6. 打开要抓取的网页。使用`get()`方法打开目标网页: ``` url = "https://www.example.com" driver.get(url) ``` 7. 获取网页元素和数据。使用Selenium提供的方法来定位和提取你需要的网页元素和数据: ``` element = driver.find_element_by_xpath("//div[@id='element-id']") data = element.text ``` 8. 进行数据分析。使用常用的数据分析,如Pandas和NumPy,对抓取到的数据进行分析和处理: ``` import pandas as pd import numpy as np df = pd.DataFrame(data) ``` 9. 可视化数据。使用数据可视化,如Matplotlib或Seaborn,将数据进行可视化: ``` import matplotlib.pyplot as plt plt.plot(df['x'], df['y']) plt.show() ``` 以上是使用Jupyter NotebookSelenium爬取数据并进行数据分析的简单步骤。你可以根据具体的需求和情况进行进一步的操作和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值