Python爬虫学习笔记(一)

爬虫目的: 就是根据规则抓取指定的数据,一般是大量数据

可以做爬虫的语言:

  1. PHP:多进程多线程处理不好
  2. Java:没毛病,就是代码复杂点,修改费劲,重构成本大(为突出PY强行黑)
  3. C,C++:这都是NB人做的,个人能力展现,对于高学习/经验成本来讲,不算是良好选择
  4. Python:语法简单,代码可读性高,学习成本低,三方模块多,强大框架Scrapy

通用爬虫和聚焦爬虫:

通用爬虫: 百度,360,bing,yisou,sougou,google

  1. 整个网站都爬,抓取网页,采集数据,数据处理,提供信息检索
  2. 如何获取新网站:
    主动提交(及时)或被动A连接连锁(不及时);
    设置友情链接(别人网站打广告,直接连接到自己的网页来);
    与DNS服务商合作:拿到DNS注册信息爬取的更广。
  3. 搜索引擎检索排名:
    竞价排名:花钱(百度魏则西事件,后续标注广告,以区分官网)
    pagerank:访问量,点击量,靠声望。
  4. robots.txt:限制爬虫的协议,仅仅是口头协议,个人可以忽略(道德层面),大公司通用爬虫必须遵守。

聚焦爬虫: 根据需求(通过正则匹配)抓取指定数据

爬虫工作过程: 给个URL,写PY程序模拟浏览器访问URL,解析内容,提取数据,(保存到数据库或者看到数据后丢失结果后续再说)

学习内容、基础知识、准备工作:

  1. 库:
    PY3:urllib.request,urllib.parse
    PY2:urllib,urllib2
    其他:bs4(beautiful soup 4:鲜美汤4)
  2. 解析内容:
    正则解析;
    bs4;
    xpath;
    jsonpath。
  3. 动态html:selenium+phantomjs(过气?) chromeheadless
  4. 框架:Scrapy高性能框架
  5. Scrapy+Redis组件:分布式爬虫
  6. 爬虫-反爬虫-反反爬虫:UA,Proxy,验证码,动态页面等。

你可能感兴趣的:(Python爬虫学习笔记(一))