NO.2 抓包工具:
- 推荐httpfox,火狐浏览器下的插件,比谷歌火狐系自带的F12工具都要好,可以方便查看网站收包发包的信息
NO.3 XPATH CHECKER (火狐插件):
非常不错的xpath测试工具,但是有几个坑,都是个人踩过的,,在此告诫大家:
1、xpath checker生成的是绝对路径,遇到一些动态生成的图标(常见的有列表翻页按钮等),飘忽不定的绝对路径很有可能造成错误,所以这里建议在真正分析的时候,只是作为参考
2、记得把如下图xpath框里的“x:”去掉,貌似这个是早期版本xpath的语法,目前已经和一些模块不兼容(比如scrapy),还是删去避免报错
NO.4 正则表达测试工具: 在线正则表达式测试 ,拿来多练练手,也辅助分析!里面有很多现成的正则表达式可以用,也可以进行参考!
||
||
V
ok!这些你都基本有一些了解了,现在开始进入抓取时间,上各种模块吧!python的火,很大原因就是各种好用的模块,这些模块是居家旅行爬网站常备的——
urllib
urllib2
requests
||
||
V
不想重复造轮子,有没有现成的框架?
华丽丽的scrapy(这块我会重点讲,我的最爱)
||
||
V
遇到动态页面怎么办?
selenium(会了这个配合scrapy无往不利,是居家旅行爬网站又一神器,下一版更新的时候会着重安利,因为这块貌似目前网上的教程还很少)
phantomJS(不显示网页的selenium)
||
||
V
遇到反爬虫策略验证码之类咋整?(不想折腾的直接第四个)
PIL
opencv
pybrain
打码平台
||
||
V
然后是数据库,这里我认为开始并不需要非常深入,在需要的时候再学习即可
mysql
mongodb
sqllite
||
||
V
爬来的东西怎么用?
numpy 数据分析,类似matlab的模块
pandas(基于numpy的数据分析模块,相信我,如果你不是专门搞TB级数据的,这个就够了)
||
||
V
进阶技术
多线程、分布式
———————————— 乱入的分割线 —————————————
然后学习编程关键的是学以致用,天天捧一本书看不如直接上手操练,下面我通过实际的例子来讲解爬虫——
比如最近,楼主在豆瓣上认识了一个很可爱的妹子,发现她一直会更新签名和日志,所以没事就会去她主页看看,但一直没有互相加好友(作为一只高冷的天蝎,怎么可以轻易加好友嘛!而且加了好友,你更新什么都会收到推送,那多没意思啊!一点神秘感都没有了!),可还是想及时获得妹子的最新动态,怎么办?
于是我就写了个70几行的python脚本,包含爬虫+邮件模块,跑在家里的一台闲置笔记本上,通过计划任务每准点抓取妹子的签名和最新文章一次,发送到我的邮箱。。嗯,其实是很简单的技术,,代码如下所示:
#-*-coding:utf-8-*- #编码声明,不要忘记!
import requests #这里使用requests,小脚本用它最合适!
from lxml import html #这里我们用lxml,也就是xpath的方法
#豆瓣模拟登录,最简单的是cookie,会这个方法,80%的登录网站可以搞定
cookie = {}
raw_cookies = ''#引号里面是你的cookie,用之前讲的抓包工具来获得
for line in raw_cookies.split(';'):
key,value = line.split("=", 1)
cookie[key] = value #一些格式化操作,用来装载cookies
#重点来了!用requests,装载cookies,请求网站
page = requests.get('#妹纸的豆瓣主页#',cookies=cookie)
#对获取到的page格式化操作,方便后面用XPath来解析
tree = html.fromstring(page.text)
#XPath解析,获得你要的文字段落!
intro_raw = tree.xpath('//span[@id="intro_display"]/text()')
#简单的转码工作,这步根据需要可以省略
for i in intro_raw:
intro = i.encode('utf-8')
print intro #妹子的签名就显示在屏幕上啦
#接下来就是装载邮件模块,因为与本问题关联不大就不赘述啦~
怎么样是不是很简单
总结
说了这么多,旨在告诉大家Python这个类目无论是功能性、还是上手程度都碾压其他语言,作为最适合零基础入门的编程语言,想要学习自然不能纸上谈兵,还得沉下心来深入的研究和学习。
只告诉大家学什么但是不给予方向的行为无异于耍流氓,这里也是分享我多年收藏的技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:
上述这份完整版的Python全套学习资料已经上传CSDN官方,如果需要可以微信扫描下方CSDN官方认证二维码 即可领取
👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!