首页 > 其他分享 >crawlergo学习.pdf 观看学习笔记的记录

crawlergo学习.pdf 观看学习笔记的记录

时间:2024-05-09 16:57:23浏览次数:24  
标签:元素 crawlergo 学习 chromedp 某个 pdf 页面

起因

想学习爬虫的编写 : 看到大佬对一个爬虫项目,的学习笔记。 跟着大佬的学习笔记学一遍

项目地址:https://github.com/Qianlitp/crawlergo

学习记录:

 

对浏览器环境的hook:  看到这个之前没见到过 学习一波

参考文章理解爬虫HOOK技术 - 掘金 (juejin.cn)     通过hook,修改js代码的实现。

chromedp 

chromedp   基础 https://blog.csdn.net/weixin_45268711/article/details/122129553 (参考)  用来实现浏览器操作

Chromedp, 是由Go语言编写,支持Chrome DevTools Protocol的一个库,不需要依赖其他的外界服务(如Selenium和PhantomJS) https://github.com/chromedp/chromedp

 

Chromedp使用
chromedp.NewContext() 初始化chromedp的上下文,后续这个页面都使用这个上下文进行操作
chromedp.Run() 运行一个chrome的一系列操作
chromedp.Navigate() 将浏览器导航到某个页面
chromedp.WaitVisible() 等候某个元素可见,再继续执行。
chromedp.Click() 模拟鼠标点击某个元素
chromedp.Value() 获取某个元素的value值
chromedp.ActionFunc() 再当前页面执行某些自定义函数
chromedp.Text() 读取某个元素的text值
chromedp.Evaluate() 执行某个js,相当于控制台输入js
network.SetExtraHTTPHeaders() 截取请求,额外增加header头
chromedp.SendKeys() 模拟键盘操作,输入字符
chromedp.Nodes() 根据xpath获取某些元素,并存储进入数组
chromedp.NewRemoteAllocator
chromedp.OuterHTML() 获取元素的outer html
chromedp.Screenshot() 根据某个元素截图
page.CaptureScreenshot() 截取整个页面的元素
chromedp.Submit() 提交某个表单
chromedp.WaitNotPresent() 等候某个元素不存在,比如“正在搜索。。。”
chromedp.Tasks{} 一系列Action组成的任务

标签:元素,crawlergo,学习,chromedp,某个,pdf,页面
From: https://www.cnblogs.com/easyday/p/17449851.html

相关文章

  • PyMuPDF框架学习(pdf文本处理)
    与其他框架的比较(优势)Thisdocumentationcovers PyMuPDFv1.24.2 featuresasof 2024-04-1700:00:01.一、可以支持多种格式 二、这里不知道是干什么的。三、支持CJK、OCR四、兼容多种文档类型与之合并或写入,以及提取和写入PDF上的诸多种元素 二、实践一、在PDF的......
  • mac80211子系统学习-rx部分
    mac80211子系统学习-rx部分wifi网卡架构Linux将wifi芯片分成了fullmac和softmac两种类型,两种类型的区别在于mlme被driver+hardware实现还是被kernel实现,用wirelesswiki上的话来讲:SoftMACisatermusedtodescribeatypeofWNICwheretheMLMEisexpectedtobema......
  • 模块学习之hashlib模块
    【一】什么是摘要算法Python的hashlib提供了常见的摘要算法,如MD5、SHA1等等摘要算法又称哈希算法、散列算法它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest......
  • 瑞数4代逆向学习
    声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作......
  • 模块学习之logging模块
    【一】函数式简单配置importlogginglogging.debug('debugmessage')logging.info('infomessage')logging.warning('warningmessage')logging.error('errormessage')logging.critical('criticalmessage')默认情况......
  • 模块学习之time、datetime模块
    【一】表示时间的三种方式时间戳元祖(struct_time):年,月,日,时,分,秒,毫秒,微妙格式化的时间字符串:xx年-xx月-xx日时:分:秒【二】time模块(1)导入模块importtime(2)时间戳时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的......
  • 模块学习之os模块
    【一】导入模块importos【二】文件路径相关操作_file__指当前文件(1)获取当前文件路径(abspath)importosfile_path=os.path.abspath(__file__)print(file_path)#D:\Python\pythonProject\pythonProject1\demo7.py(2)获取当前文件所在文件夹路径(dirname)importos......
  • 学习记录+vcode+GPIO例程+正点原子 DNESP32S3 开发板教程-IDF 版
    第一个程序:UART模式和JTAG模式,配置完成不同。配置主要就是.vscode文件夹中 c_cpp_properties.json,tasks.json,launch.json,settings.json四个文件。一个想法:备份UART模式和JTAG模式的配置文件,用时直接文件替换。简单粗暴方式是.vscode文件夹替换。当然每次要选好串口、设置目标......
  • 文件IO学习【一】
    目录计算机的组成部分硬件系统软件系统文件系统Linux系统的目录根文件系统说明目录的结构分析Linux的文件类型计算机的组成部分硬件系统计算机的硬件主要是由五部分组成:控制器、运算器、存储器、输入设备、输出设备。运算器和控制器的总称是中央处理器(CPU),指的是计算机中对......
  • DrissionPage自动化框架学习
    DrissionPage学习官网:http://drissionpage.cn/features/intimate/自动化测试框架:DrissionPage1.DrissionPage事件1.1元素定位查找#根据属性查找,@后面可跟任意属性page.ele('@id:ele_id',timeout=2)#查找id为ele_id的元素,设置等待时间2秒page.eles('@class')#......