从网页抓取数据(1.3网页数据抓取工具:爬取图片的数据成本和算法)
优采云 发布时间: 2022-03-05 18:15从网页抓取数据(1.3网页数据抓取工具:爬取图片的数据成本和算法)
1.3 网页数据抓取
工具:
Linux:curl,通常不可用
使用无头浏览器通过命令行爬取网页,让管理员无法看到自己是在爬取数据还是在访问数据,但短时间内大量访问同一个IP也会引起怀疑。
需要很多ip
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.headless = True
chrome = webdriver.Chrome(
chrome_options=chrome_options)
page = chrome.get(url)
网页的HTML被爬取后怎么办?
抓取文字
假设网页已经被爬取到磁盘上,然后使用Python自带的包BeautifulSoup解析html,提取出html中有趣的部分,比如链接中的id和category,找出来,使用“/”将其截取为一组数据,将id放在模板中。有了id后,可以修改id获取其他数据,输入id获取详细信息,同样获取其他数据。
接下来,我将解释如何抓取所有网页的具体信息并找出所有列表。一般可以使用Chrome中的inspect工具来获取要抓取的数据在HTML中的具体位置。(整个过程相当复杂)只是在这里刮一下文字。
抓取网页时,最好每 3 秒抓取一次,不要太频繁。
如何爬取图片?
爬取图片的数据成本相当于爬取一个HTML网页,存储成本也比较高。
数据抓取还考虑法律问题。需要登录,收录个人隐私,收录版权等。
1.4数据标注
是否有足够的注解,如果有,考虑使用半监督模型
标签不够,有没有钱,有的话可以众包找人贴
如果没有足够的注释和金钱,可以考虑使用弱监督学习
半监督学习:
解决只有一小部分数据有标签的问题
半监督学习最常用的算法:自学习
自学习:先用一小部分标注数据训练一个模型,然后用这个模型预测未标注数据,得到一些伪标注数据(机器标注的数据,不是人工标注的),把伪标注的数据和标记的数据合并以训练一个新模型,然后重新训练。(每次只保留更有信心的数据标签,丢弃信心差的标签)
可以使用标准数据,不考虑成本,使用比较深的网络模型
使用众包标签
最广泛使用的数据标注方法
ImageNet 是众包标注
众包标签需要考虑的问题:
1.任务设计简单,注解简单
2.考虑成本
3.质量控制
使用主动学习让人们标记更难的标签。在这里,你也可以先使用一些更复杂的模型对难度进行分类和标注。
也使用主动学习+自学组合
数据质量控制
一个任务是多人同时完成的;疑点比较高的问题同时发给多人
如果有监督学习
*敏*感*词*生成注释
最常用的数据编程
比如判断是否是普通邮件