构建最小版本的 Chrome

构建最小版本的 Chromium

为什么需要 Chrome 浏览器渲染

  1. 动态 ajax 页面
  2. 页面编码异常或者结构过甚,lxml 无法解析

dirty page examples:

  1. 页面的 style 在 html 外面,并且有黏贴的 Word 文档。http://gzg2b.gzfinance.gov.cn/gzgpimp/portalsys/portal.do?method=pubinfoView&&info_id=-2316ce5816ab90783eb-720f&&porid=gsgg&t_k=null
  2. 有好多个 html 标签,并且编码不一致。http://www.be-bidding.com/gjdq/jingneng/show_zbdetail.jsp?projectcode=1180903010&flag=3&moreinfo=true

优化方案

  1. 不加载图片和视频,但是保留占位
  2. 使用 proxy api 更改代理
  3. 禁用 H5 相关 API
  4. 删除 ICU 相关

参考文献

  1. https://peter.sh/experiments/chromium-command-line-switches/
  2. https://joydig.com/port-chromium-to-embedded-linux/
  3. Android 上的 Chrome 裁剪,值得借鉴。https://blog.csdn.net/mogoweb/article/details/76653627
  4. 架构图 https://blog.csdn.net/mogoweb/article/details/76653627
  5. webkit 架构图 https://blog.csdn.net/a957666743/article/details/79702895
  6. Chrome proxy API https://developer.chrome.com/extensions/proxy
  7. Chrome 嵌入式裁剪,直击底层 https://joydig.com/category/chromium/
  8. 官方构建教程 https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
  9. 编译选项https://blog.csdn.net/wanwuguicang/article/details/79751503

及时获取更新,请关注公众号“爬虫技术学习(spider-learn)”

公众号“爬虫技术学习(spider-learn)”

About 逸飞

后端工程师

发表评论

电子邮件地址不会被公开。 必填项已用*标注