最开始学习爬虫的时候用的是request+正则匹配,昨天学了学selenium,今天来做个对比。
request库其实已经很好了,最大的问题可能就是没有selenium像个人,不能从事很复杂的操作(其实也可以,不过要抓包分析,稍微麻烦一点)。而selenium基本上就是如臂使指,滚轮,点击啥的都可以实现。
另外就是怎么提取数据。如果是json格式的数据最好,直接字典提取就行。如果是text/html就得用各种匹配方法了。
最基本的就是正则匹配。其实我感觉正则匹配真的很好用,而且学起来0成本,就是知道个.*?和(.*?)就能上手了,有点不知道xpath的优势是什么......xpath还得想想这个节点是子节点呢还是子孙节点,是属性匹配还是属性获取。
然后就是持久化操作,一般是表格xlwt库的基本操作(创建表格、添加表格、写表格)或者数据库。今天试着写到数据库里面,结果写动态sql的时候犯了个很弱智的错误,就是插入value的时候,每一个值都应该用双引号括起来。我python还没学多久,对利用{}和.format在字符串中插入值的操作不是很熟练,以为插入进去的字符串也是带双引号的,结果就一直报错,1064语法错误。网上也找不到这种错法,想了老半天。
另外,很好奇是不是京东的反爬措施比淘宝做得好?为什么同样的代码京东根本加载不了?
先写到这里。后面有机会学一下cockie的用法,然后试着加一点深度学习的东西进来应对验证码。