Web scraping
- 目标是将感兴趣的数据从网页中抓取出来
- 噪音多,弱标签,有可能是无用信息
- 数据量大
- 例子:价格对比/跟踪网站
- 很多机器学习的数据集就是从网页抓取的
- 例子:ImageNet,Kinetics
- 网页爬取和网页抓取
- 爬取:从互联网索引整个页面
- 抓取:对特定的网页的特定的数据
Web scraping tools
-
“curl”通常不起作用
- 网页拥有者有很多办法去阻止机器人访问
-
用headless,一个没有GUI的浏览器
1
2
3
4
5
6
7
8from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.headless = True
chrome = webdriver.Chrome(
chrome_options = chrome_options)
page = chrome.get(url) -
需要大量的新IP
- AWS有1.75%的IPv4,Azure有0.55%,一个IP就能卖几美元
Craw individual pages
- 获取页面所以,通过ID得到详细页面,可以用BeautifulSoup
Extract Data
- 识别网页元素,通过正则抓取
Legal Consideration
- 网页抓取不违法
- 但需要注意
- 不要爬取敏感数据
- 不要爬取有版权的信息
- 咨询律师是否能用于盈利
Summary
- 网页爬取是在网页没有提供数据api时收集数据收上很有效的办法
- 使用云可以低成本
- 在HTML中定位信息