zoukankan      html  css  js  c++  java
  • python爬虫---->常见python爬虫框架

    一般比较小型的爬虫需求,
    我是直接使用requests库 + bs4就解决了,再麻烦点就使用selenium解决js的异步 加载问题。相对比较大型的需求才使用框架,主要是便于管理以及扩展等。

    一、爬虫技术库-urllib.request和requests库的使用(简单)

    1. requests库
    import requests
    headers = { 'User-Agent': 'Mozilla/5.0 Chrome/64.0.3282.186 Safari/537.36', }
    url = 'http://www.baidu.com'
    response = requests.get(url,headers=headers)
    response.encoding = 'utf-8'
    print(response)
    2. urllib.request库
    from urllib import request
    headers = { 'User-Agent': 'Mozilla/5.0 Chrome/64.0.3282.186 Safari/537.36', }
    url = 'http://www.baidu.com'
    req = request.Request(url, headers=headers)
    response = request.urlopen(req)
    data = response.read().decode('UTF-8')
    print(data)
    二、常见python爬虫框架
    1)Scrapy:很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。
    https://www.cnblogs.com/Lijcyy/p/9779196.html
    2)Crawley: 高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等
    3)Portia:可视化爬取网页内容
    4)newspaper:提取新闻、文章以及内容分析
    5)python-goose:java写的文章提取工具
    6)Beautiful Soup:名气大,整合了一些常用爬虫需求。缺点:不能加载JS。
    7)mechanize:优点:可以加载JS。缺点:文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。
    8)selenium:这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
    9)cola:一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高。

  • 相关阅读:
    MySQL性能调优语句
    APP测试
    JForum项目搭建
    Bug的等级及定位
    mysql any和all的用法
    mysql产生随机数
    MySQL存储过程例子
    【转】 卡特兰数
    牛客小白月赛5 I 区间 (interval) 【前缀和】
    牛客小白月赛5 D 阶乘(factorial) 【前缀】
  • 原文地址:https://www.cnblogs.com/Lijcyy/p/9778318.html
Copyright © 2011-2022 走看看