- [x] 反爬破解
- [ ] CrawlSpider
- [ ] beautifulSoup
- [ ] selenium用于处理模拟登录和动态加载
在学爬虫前,我学习过使用go获取网页数据,感觉差不多,当时用go获取的大概思路就是:
先使用goquery获取网页内容,然后用一个类似于DOM树定位的方式,获取到所需数据,最后再对自己需要的数据处理即可
和这种方法不同的是,爬虫因为是专业获取数据的,会有调度器和URL管理器,用来管理不同组件之间的工作,比如网页获取器,网页解析器
python爬虫的基本流程
-
requests发送请求,获取响应
-
beautifulSoup解析页面
-
正则提取数据
-
json处理数据
-
最后做个数据可视化
-
企业一般用Scrapy框架
- Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架
- Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中
- 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片
-
scrapy startproject 项目名字
- 在spiders文件夹里面去创建爬虫文件(貌似不需要在spdider里面,在它的上一级也可以)
- scrapy genspider 爬虫文件的名字 要爬取的网页
- scrapy genspider baidu www.baidu.com(不需要加http,1因为scrapy很贴心,会帮你补全,就算你加了,他也会帮你加,double http(scrapy有点傻))
- 如果网页时html结尾,start_urls不需要加/
- scrapy crawl 爬虫的名字
- scrapy crawl baidu
- 反爬 robot.txt
- settings.py里面注释掉ROBOTTXT_OBEY = True