当前位置: 首页 > wzjs >正文

常用的网站建设技术平台网站

常用的网站建设技术,平台网站,完整html网页代码案例,wordpress+私信上一篇文章,我们使用Selenium完成了网页内文件的自动下载,本文我们将使用Selenium来爬取东方财富网股吧内笔记的评论数据。 网页内容分析 网页内容的分析是web自动化中的关键一步。通过分析网页结构,我们可以确定需要抓取的数据位置以及操作元素的方式。…

        上一篇文章,我们使用Selenium完成了网页内文件的自动下载,本文我们将使用Selenium来爬取东方财富网股吧内笔记的评论数据。

网页内容分析

         网页内容的分析是web自动化中的关键一步。通过分析网页结构,我们可以确定需要抓取的数据位置以及操作元素的方式。

        与爬虫不同的是,web自动化通常是对浏览器渲染后的html网页直接进行操作,因此,我们不需要像爬虫那样进行抓包分析,只需要在原网页中定位元素并进行相应的操作即可。


登录弹窗关闭       

 这里,我们在东方财富网的网页端随机进入一支股票的股吧,Edge浏览器ctrl+shift+i,Chrome浏览器F12一键打开开发者工具后,进行分析。

        首先,进入后,引入眼帘的便是广告弹窗,对于这种弹窗我们直接使用XPATH定位到右上角的XX,然后点击关闭即可。

单页评论定位

         每一页的评论,都被放在了一个table内,并且tabel内 <tr>class=listitem</tr> 每一个名为listitem的行,即是该页内每条评论存放的位置。

那么在代码中,我们只需要这样写变可以将改页内所有评论爬取下来:

trs=webdriver.find_elements(By.CLASS_NAME,'listitem')
comments=[tr.text for tr in trs]

多页评论定位

       当我们切换页面的时候,观察网页url,发现:

第1页内评论 

第2页内评论

        在切换页数时,url唯一变换的是查询参数,而查询参数实际上就是由 股票代码_页数构成,当然第一页除外,所以,当我们想要爬取一支股票多页的评论时,便可以简单的在一个页数循环内,让webdriver打开新的一个网页,接着重复之前的工作即可。


源代码

import time
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
class 东方财富网():def __init__(self,StockCode:str,pages:int=1,headless:bool=False):'''Args:pages:爬取评论页数。headless:是否开启无头模式。StockCode:股票代码。'''self.StockCode=StockCodeself.pages=pagesself.headless=headlessself.urls=[f'https://guba.eastmoney.com/list,{self.StockCode}.html']self.comments={page:[] for page in range(1,self.pages+1)}#构建一个字典格式为{页数i:[第i页的评论列表]}def comments_scraper(self):#根据股票代码和页数构建所有待爬取的urlfor page in range(2,self.pages+1):self.urls.append(f'https://guba.eastmoney.com/list,{self.StockCode}_{page}.html')#配置webdriver的optionsself.Options=Options()self.Options.add_argument('--disable-blink-features=AutomationControlled')#隐藏自动化控制self.Options.add_argument('--ignore-ssl-errosr')#忽略ssl错误self.Options.add_argument('--ignore-certificate-errors')#忽略证书错误self.Options.add_experimental_option('excludeSwitches', ['enable-logging'])#隐藏自动化控制self.Options.add_experimental_option('excludeSwitches',['enable-automation'])#隐藏自动化控制if self.headless:#无头模式运行自动化代码self.Options.add_argument('--headless')self.Options.add_argument('--disable-gpu')self.browser=webdriver.ChromiumEdge(self.Options)for i in range(self.pages):self.browser.get(self.urls[i])self.browser.maximize_window()#webdriver全屏self.browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {#执行一段js代码,隐藏自动化控制"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""})time.sleep(2)#登录弹窗只在第一页弹出,我们在第一页弹出点击关闭后就不痛再点击了,因此第二页之后是不存在关闭弹窗的按钮的#因此这里使用try来捕获第二页及以后的NosuchelementException,先尝试点击关闭按钮,如果存在点击,不存在引发异常直接pass什么也不用管#接着怕我们的数据就行try:close=self.browser.find_element(By.XPATH,'/html/body/div[5]/img[1]')close.click()except NoSuchElementException:passcomments=self.browser.find_elements(By.CLASS_NAME,'listitem')comments=[comment.text for comment in comments]self.comments[i+1]=commentsprint(f'共计爬取{self.pages}页评论,第{i+1}页评论已爬取完毕')self.browser.quit()with open(f'{self.StockCode}股评爬取.txt','w',encoding='utf-8') as f:for i in range(1,self.pages+1):f.write(f'第{i}页股评\n{self.comments[i]}\n\n')
东方财富网(headless=False,pages=5,StockCode='600600').comments_scraper()

爬取结果

总结

本文介绍了Selenium爬取页面内容的实例,通过上述实例我们不难总结出一个Selenium爬虫的基本思路:

1.开发者工具定位爬取内容在源代码中区域。

2.使用合适的合适的selenium定位方式定位爬取内容。

3.选择合适的等待机制与异常处理机制(可能非必须)。

4.根据爬取内容的特性,选择适当的处理方式:对于文字内容,我们通常使用text属性获取其文字内容。

总重要的是,所有的操作必须要考虑到各种情况,并且合乎逻辑!


文章转载自:

http://XXqNyB8e.qnkcw.cn
http://vkni6GKx.qnkcw.cn
http://rdnR1yut.qnkcw.cn
http://i7f8HLDR.qnkcw.cn
http://TFsMLgN7.qnkcw.cn
http://DLVLd1Xg.qnkcw.cn
http://tU1LvwaC.qnkcw.cn
http://XHtDsJnc.qnkcw.cn
http://YOIUIThQ.qnkcw.cn
http://t1lPNb4j.qnkcw.cn
http://7QzFDSFD.qnkcw.cn
http://AiFkoUo7.qnkcw.cn
http://s78bUGKb.qnkcw.cn
http://p5hcfA0n.qnkcw.cn
http://MHrutSO4.qnkcw.cn
http://qnD4byps.qnkcw.cn
http://TFiCyHQW.qnkcw.cn
http://E7yBSTJX.qnkcw.cn
http://1YxiVvAi.qnkcw.cn
http://WHYW0uHA.qnkcw.cn
http://DW8w6aVS.qnkcw.cn
http://cPBWXN1H.qnkcw.cn
http://yStYztb6.qnkcw.cn
http://h7WQ1gh0.qnkcw.cn
http://NMvxmPws.qnkcw.cn
http://1DoNywmS.qnkcw.cn
http://7pV2uH7R.qnkcw.cn
http://ztSug46b.qnkcw.cn
http://69UH6JBu.qnkcw.cn
http://zrJf9YED.qnkcw.cn
http://www.dtcms.com/wzjs/776073.html

相关文章:

  • 有什么网站可以推广信息猎聘招聘官方网站
  • 长沙模板建站平台电商网站建设制作
  • 山东网站建设系统网站建设 大公司
  • 惠州网站建设 鑫微信怎么注册
  • 自己做网站有什么用门户网站 布局
  • 网站备案几天可用来做外链推广的网站
  • 网站下拉菜单怎么做沈阳世纪兴电子商务服务中心
  • 网页设计师联盟网站公众号文章链接wordpress
  • 营销计划书7个步骤抚顺网站seo
  • 北流网站建设制作水牛影视
  • 百度不收录网站内页做网站网站代理违法吗
  • 上海网站建设乐云seo网站集约化建设解读
  • 网站获取访问者qq号码一建的专业
  • 建设直播网站软件项目符号
  • 福州网站建设服务平台做企业官网还有必要吗
  • 快速建设网站服务网站建设英文版
  • 网站自适应屏幕Wordpress对接阿里云OSS
  • 长沙公司网站模板制作方案加工平台app
  • 网站建设算行政工作吗北京市工程信息网
  • 运城公司网站建设橱柜设计师培训
  • 校园网站建设的要素微信存储wordpress
  • 黄平网站建设公司牌子设计图
  • 建站优化办事效率高网站规划详细设计怎么写
  • 网站做支付按流量付费网站权重分析
  • 自己做店铺网站一 网站开发体会
  • 比较厉害的网站制作公司织梦建站系统教程
  • 0基础怎么做网站模版网址导航大全排名
  • 哪个网站做正品女装软件工程学科评估排名
  • 句容网站一台vps两个wordpress网站
  • 哪些网站可以做免费推广韶关哪里做网站最好