爬虫相关整理
Python爬虫相关
一. 写在前面的话
首先, 爬虫这个东西, 确实处于灰色地带, 互联网上充斥着爬虫, 有合法的和不合法的, 基本上是没法靠法律追溯并且管制的, 很大程度上靠的是网站的反爬技术本身.
其次, 我觉得爬虫本身促进web技术的发展, 比如前后端分离的设计模式, 客户端渲染等等, 有一定程度上是为了保护服务器不被海量的不合法请求瘫痪和破坏, 以及保护数据安全.
最后, 虽然爬虫听起来似乎很厉害, 但本质上就是个体力活, 方便一点的可以requests库爬取 静态网页, 难受一点就用selenium爬取动态网页, 本质上优化的是人手动Ctrl+c/v这个过程, 其实不高端. 真正困难的是分析网页结构来自动化整个过程.
你真正需要的是:
- 强大的
web能力, 大量html在你眼中自动变得清晰明了 - 长期的一线经历, 熟悉最新框架和反爬机制
- 小强般的精神, 没有什么问题不是分类解决不了的, 如果有, 那就再分一类. (指遇到不同的框架
- 钻研精神, 说到底你是在与开发人员斗智斗勇, 矛盾之争
- 一头茂盛的头发
- 胃药
- 咖啡和茶
- 舒服
但是坐久了不舒服的椅子 - etc
二. 爬虫的基本操作
Selenium
感觉最近Selenium的爬虫写的有点多了, 我只能说这是没办法时候用的. 无他, 这玩意理论上需要加载整个网页, 太太太慢了你见过凌晨4点的绝望吗, 爬1w条数据要8个小时就会这样
安装Selenium
安装Selenium库
在你的python环境里输入指令安装
1 | |
或者
1 | |
安装对应浏览器的webdriver
我用的是EDGE浏览器, 在官网下载的msedgedriver.exe
[官网链接](Microsoft Edge WebDriver - Microsoft Edge Developer)
注意下载对应浏览器版本的msedgedriver.exe!
查询Edge浏览器版本方法:

下载Stable Channel稳定版

版本号的第一个数字对上基本就没事, 然后根据电脑系统下载对应文件
最后解压文件得到msedgedriver.exe
可以考虑添加到系统PATH环境变量里去, 这样不用每次调用时候找文件位置.
使用Selenium
检查版本
1 | |
打开网页
1 | |
实际上并不需要多么精确的网址, 只要是能在浏览器地址栏输入的网址都可以写成url
比如
1 | |
这样也是可以打开的
查找网页元素
需要HTML和Web知识,
待填坑
1 | |
你会得到一个百度一下的结果
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hanker's blog!
