专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

python爬虫练习seleniumBeautifulSou

  一、简介
  前面文章已经介绍了selenium库使用,及浏览器提取信息相关方法。参考:python爬虫之selenium库
  现在目标要求,用爬虫通过浏览器,搜索关键词,将搜索到的视频信息存储在excel表中。二、创建excel表格,以及chrome驱动n1wordinput(请输入要搜索的关键词:)driverwebdriver。Chrome()waitWebDriverWait(driver,10)exclxlwt。Workbook(encodingutf8,stylecompression0)sheetexcl。addsheet(b站视频:word,celloverwriteokTrue)sheet。write(0,0,名称)sheet。write(0,1,up主)sheet。write(0,2,播放量)sheet。write(0,3,视频时长)sheet。write(0,4,链接)sheet。write(0,5,发布时间)三、创建定义搜索函数
  里面有buttonnext为跳转下一页的功能,之所有不用By。CLASSNAME定位。看html代码可知buttonclassvuibuttonvuipagenationbtnvuipagenationbtnside下一页button
  class名称很长,而且有空格,如果selenium用By。CLASSNAME定位,有空格会报错:selenium。common。exceptions。NoSuchElementException:Message:nosuchelement
  所以这里用By。CSSSELECTOR方法定位。defsearch():driver。get(https:www。bilibili。com)inputwait。until(EC。presenceofelementlocated((By。CLASSNAME,navsearchinput)))buttonwait。until(EC。elementtobeclickable((By。CLASSNAME,navsearchbtn)))input。sendkeys(word)button。click()print(开始搜索:word)windowsdriver。windowhandlesdriver。switchto。window(windows〔1〕)getsource()第1页跳转第2页buttonnextdriver。findelement(By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。flexcenter。mtx50。mbx50ppbutton:nthchild(11))wait。until(EC。presenceofelementlocated((By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。videolist。rowp:nthchild(1)pp。bilivideocardwrap。scalewrap)))buttonnext。click()getsource()四、定义跳转下一页函数
  这里有调转下一页函数,那为什么在上面搜索函数也有下一页功能,因为分析代码。第2页的CSSSELECTOR路径icecreampp:nthchild(2)p。searchcontentppp。flexcenter。mtx50。mbx50ppbutton:nthchild(11)后面页面的CSSSELECTOR路径icecreampp:nthchild(2)p。searchcontentppp。flexcenter。mtx50。mblgppbutton:nthchild(11)
  第1页的CSSSELECTOR和后面的页面的CSSSELECTOR的不一样,所以把第1页跳第2页单独加在了上面搜索函数中。defnextpage():buttonnextwait。until(EC。presenceofelementlocated((By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。flexcenter。mtx50。mblgppbutton:nthchild(11))))buttonnext。click()wait。until(EC。presenceofelementlocated((By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。videolist。rowp:nthchild(1)pp。bilivideocardwrap。scalewrap)))getsource()五、定义获取页面代码函数
  上面定义的函数都有getsource()函数,这个函数就是现在需要创建的,用途获取页面代码,传入BeautifulSoupdefgetsource():htmldriver。pagesourcesoupBeautifulSoup(html,lxml)saveexcl(soup)六、获取元素并存到excel表
  通过BeautifulSoup循环获取页面信息,并存到创建好的excel表中。defsaveexcl(soup):listsoup。find(classvideolistrow)。findall(classbilivideocard)foriteminlist:print(item)videonameitem。find(classbilivideocardinfotit)。textvideoupitem。find(classbilivideocardinfoauthor)。stringvideodateitem。find(classbilivideocardinfodate)。stringvideoplayitem。find(classbilivideocardstatsitem)。textvideotimesitem。find(classbilivideocardstatsduration)。stringvideolinkitem。find(a)〔href〕。replace(,https:)print(videoname,videoup,videoplay,videotimes,videolink,videodate)globalnsheet。write(n,0,videoname)sheet。write(n,1,videoup)sheet。write(n,2,videoplay)sheet。write(n,3,videotimes)sheet。write(n,4,videolink)sheet。write(n,5,videodate)nn1七、定义main函数,循环获取跳转每一页
  这里默认是10页的数据,后面就不获取了,可以自行调整页面数。最后保存表名。defmain():search()foriinrange(1,10):nextpage()ii1driver。close()ifnamemain:main()excl。save(b站word视频。xls)八、最终代码执行效果
  这里CSSSELECTOR路径,我这里尽量的在最底层,所以比较长,因为短路径,经常性等待时间不够长,没有加载所有页面,提取不到信息而报错。fromseleniumimportwebdriverfromselenium。webdriver。common。byimportByfrombs4importBeautifulSoupfromselenium。webdriver。support。uiimportWebDriverWaitfromselenium。webdriver。supportimportexpectedconditionsasECimportxlwtimporttimen1wordinput(请输入要搜索的关键词:)driverwebdriver。Chrome()waitWebDriverWait(driver,10)exclxlwt。Workbook(encodingutf8,stylecompression0)sheetexcl。addsheet(b站视频:word,celloverwriteokTrue)sheet。write(0,0,名称)sheet。write(0,1,up主)sheet。write(0,2,播放量)sheet。write(0,3,视频时长)sheet。write(0,4,链接)sheet。write(0,5,发布时间)defsearch():driver。get(https:www。bilibili。com)inputwait。until(EC。presenceofelementlocated((By。CLASSNAME,navsearchinput)))buttonwait。until(EC。elementtobeclickable((By。CLASSNAME,navsearchbtn)))input。sendkeys(word)button。click()print(开始搜索:word)windowsdriver。windowhandlesdriver。switchto。window(windows〔1〕)wait。until(EC。presenceofelementlocated((By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。video。iwrapper。searchalllist)))getsource()print(开始下一页:)buttonnextdriver。findelement(By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。flexcenter。mtx50。mbx50ppbutton:nthchild(11))buttonnext。click()time。sleep(2)wait。until(EC。presenceofelementlocated((By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。videolist。rowp:nthchild(1)pp。bilivideocardwrap。scalewrapppah3)))getsource()print(完成)defnextpage():buttonnextwait。until(EC。presenceofelementlocated((By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。flexcenter。mtx50。mblgppbutton:nthchild(11))))buttonnext。click()print(开始下一页)time。sleep(5)wait。until(EC。presenceofelementlocated((By。CSSSELECTOR,icecreampp:nthchild(2)p。searchcontentppp。videolist。rowp:nthchild(1)pp。bilivideocardwrap。scalewrapppah3)))getsource()print(完成)defsaveexcl(soup):listsoup。find(classvideolistrow)。findall(classbilivideocard)foriteminlist:print(item)videonameitem。find(classbilivideocardinfotit)。textvideoupitem。find(classbilivideocardinfoauthor)。stringvideodateitem。find(classbilivideocardinfodate)。stringvideoplayitem。find(classbilivideocardstatsitem)。textvideotimesitem。find(classbilivideocardstatsduration)。stringvideolinkitem。find(a)〔href〕。replace(,https:)print(videoname,videoup,videoplay,videotimes,videolink,videodate)globalnsheet。write(n,0,videoname)sheet。write(n,1,videoup)sheet。write(n,2,videoplay)sheet。write(n,3,videotimes)sheet。write(n,4,videolink)sheet。write(n,5,videodate)nn1defgetsource():htmldriver。pagesourcesoupBeautifulSoup(html,lxml)saveexcl(soup)defmain():search()foriinrange(1,10):nextpage()ii1driver。close()ifnamemain:main()excl。save(b站word视频。xls)
  执行输入MV执行结果:
  在文件夹也生成了excel文件表
  打开,信息保存完成
  同理,输入其他关键词,也可以。
  以上,简单爬取搜索信息就完成了,如果要在服务器上隐藏运行,参考我上篇文章:python爬虫之selenium库

20幅精美风光摄影作品,你瞧瞧是否符合你的审美标准?美其名曰摄影作品精选。其实只是我今年外出旅行时,在赣州,乌镇,长沙,南京及美国西雅图等地用手机拍摄的照片中,从矮个子中挑选出20幅高佬。我是一个手机摄影爱好者,没有进行过专业培训学舒淇薄衣遮体参加活动,既性感又充满少女感!不愧是曾经的女神引读舒淇薄衣遮体参加活动,既性感又充满少女感!不愧是曾经的女神编你知否知否审你知否知否说起舒淇,相信很多人都比较喜欢他,尤其是一些男性,对于舒淇完全就是直接败在石榴裙下,舒淇的颜值51岁第一女神神颜崩塌,这次她活该被骂前几天看到一张杂志图,我直接傻眼。这是李嘉欣?混血神颜沦落东京麻辣女教师一时不知该先骂造型师,还是先骂摄影师。回头看看她20多年前拍的杂志封面,明明一样是低胸小黑裙,气质却不要高贵瑞幸瞄准蜜雪冰城?作者l大钊12月5日,瑞幸咖啡开启新一轮新零售合作伙伴招募计划。资料显示,本次招募计划面向安徽河南黑龙江吉林辽宁内蒙古山东山西陕西9省共41个城市开放。据了解,上述41个城市都属于租金成美国CPI最后的痛,美联储对中国市场扰动有望缓和美国11月CPI同比升7。1,低于预期值(7。3)和前值(7。7),11月核心CPI连续两个月低于预期,二手车等关键通胀都有所下行,但居高不下的租金仍是助长CPI的主要因素,长期租找寻文旅产业突破口日前,琴澳旅游业务联盟成立,该联盟将联合澳门珠海横琴旅游界共同开发客源市场共同打造一程多站旅游产品体系共同建设面向国际的旅游目的地。今年以来,在广州珠海澳门等多个城市,政府行业协会ACSNano介孔材料调控溶剂化结构,实现长寿命锂金属电池第一作者ZhaoLina通讯作者王振华教授孙克宁教授单位北京理工大学httpsdoi。org10。1021acsnano。2c08441工作介绍对于开发可逆的锂金属负极来说,通过调亚坤夜读丨金黄金黄的银杏(有声)(节选)或许银杏最富于灵性,是很多爱书人首选的书签。它不仅大小适中颜色可心,而且形象绝美。银杏叶飘飘而下如蝶舞翩跹,动人心弦,令人蓦然想到千古不衰的梁山伯与祝英台的传奇爱情,这银杏11月金融数据值得关注的四大信号1M2和M1明显背离11月M2增速高达12。4,但M1却不增反降下行到了4。6,M1和M2的增速明显背离。为什么会这样呢?我们认为主要原因是疫情导致预防性储蓄上升2制造业和基建投资这才叫多屏最强电脑!极夜8110m微型小主机一机四屏够不?一机多屏学习办公炒股的电脑该怎么买?对于这个问题,有些小伙伴们会说买一个笔记本不就行了?再外接一个显示器不就有多屏了嘛!再者,组装台式机也可以呀,无非加多个显卡就能搞定的事儿,有那什么是让健康更自然?什么是让健康更自然?先提个问题,什么是五脏六腑?可能很多人不知道,下面,给大家科普下五脏指的是心肝脾肺肾六腑指的是胃胆大肠小肠膀胱三焦五脏全部是实心的六腑中除了上焦中焦下焦这三焦之
高级表才会用到的烤蓝工艺,其实我们在家都可以做(附教程)我们钟表从业者可能都知道,在高级手表的机心中使用的钢螺丝通常是蓝色的,这种蓝色螺丝我们专业术语称之为蓝钢螺丝。蓝钢螺丝最初的目的是为了防锈,延长螺丝的寿命,可以达到几十年不生锈,但CharlesdeVilmorin享受这场演出吗?CharlesdeVilmorin2022秋冬高定系列一个叫做查尔斯的小孩独自一人在房间里,他的家人走进来告诉他,已经到了该睡觉的时候。时钟逐渐敲响,持续的当当当变成卡米耶圣桑的骷C罗情史曝光!竟染过万女人房子大,技术好,Sx过万个女人。这是c罗前女友内蕾达加拉多公开嘲笑c罗的一段话。这种嘲笑有点夸张。C在当今足坛,罗无疑是神一样的存在。C罗立即踏上了他的第五次世界杯之旅卡塔尔世界杯谷爱凌现身巴黎名媛舞会,穿皮裤女王范十足,纤细大长腿太吸睛11月26日,有媒体在社交平台上晒出奥运冠军谷爱凌现身巴黎名媛晚舞会的画面,据悉该舞会在法国巴黎香格里拉酒店举办,谷爱凌受邀参加,我们的朋友谷爱凌在放假期间参加气定神闲hold住全世界杯阿根廷VS墨西哥梅西搭档劳塔罗迪马利亚首发北京时间11月27日凌晨3点,2022卡塔尔世界杯小组赛第二轮,阿根廷队对阵墨西哥队。赛前,两队公布了首发名单,阿根廷方面,梅西与迪马利亚以及劳塔罗组成攻击线。阿根廷首发23马丁内世界杯比赛日6黑白孰能入玄门,千问方圆生死分荷兰与厄瓜多尔的对决,英国与美国的较量,其实是英格兰与荷兰,索斯盖特和范加尔的一场隔空博弈。或许不少人认为我是在安慰有些失望与气愤的荷兰英格兰球迷,因为看到两支球队在同一天遭遇了相打破卫冕冠军魔咒,法国队击败丹麦率先出线中新网11月27日电在过去三届世界杯中,以卫冕冠军身份出战的球队全部折戟小组赛,包括2010年的意大利,2014年的西班牙以及2018年的德国。这一魔咒今晨被法国队打破,在21战胜中国斯诺克2场11!00后冠军以牙还牙,丁俊晖仅13分,今晚首败今晚,2022年德国大师赛资格赛进入决胜轮争夺,胜者入围32强打进正赛。中国双星前2局均战成11,范争一首局被零封后以牙还牙,单杆致胜逼平世界冠军墨菲丁俊晖第2局手感不佳只得13分实况足球两大堪比传奇的精选大妖,超值入手,英格兰精选解析先解析个超酷数据火热中场,看他像不像神兽卡?贝林厄姆英格兰精选卡,和之前预想一样,他突破等级也就这样了。进攻方面贝林厄姆这方面不是太强,他不是特别喜欢让禁区里冲的球员,进攻意识比较一日双冠!山东泰山U13U15队夺得中青赛冠军新华社赣州11月26日电(记者王楚捷黄浩然)2022年第一届中国青少年足球联赛(以下简称中青赛)全国总决赛男子初中年龄段U13U15组决赛26日在位于江西于都的江西省青少年体育后备时刻夜谈世界杯丨日本乘胜盼出线德国面对苦主背水一战2022年11月26日晴今日值班刘良骏时刻夜谈第42期北京时间11月26日,万众瞩目的2022年卡塔尔世界杯继续进行,赛事将愈发精彩。第8个比赛日,将有四场比赛进行,第一轮获胜的日
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网