精华内容
下载资源
问答
  • 网络爬虫常用工具

    2018-08-08 17:05:54
    本压缩包包含:chromedriver、mysql-font、phantomjs、redis、redis-desktop、robo3等网络爬虫常用的文件,以上文件均来自官网下载,避免了其他人使用时下载缓慢的问题
  • Python爬虫:常用的爬虫工具汇总

    万次阅读 多人点赞 2018-10-12 14:03:34
    按照网络爬虫的的思路: 页面下载页面解析数据存储 将工具按照以上分类说明,按照学习路线顺序给出参考文章 页面下载器 requests(必学) python爬虫入门requests模块 Python爬虫:requests库基本使用 Python爬虫:...

    按照网络爬虫的的思路:

    页面下载
    页面解析
    数据存储

    将工具按照以上分类说明,按照学习路线顺序给出参考文章

    一、页面下载器

    1. requests(必学)

      1. python爬虫入门requests模块
      2. Python爬虫:requests库基本使用
      3. Python爬虫:使用requests库下载大文件
      4. Python爬虫:requests多进程爬取猫眼电影榜单
      5. requests InsecureRequestWarning: Unverified HTTPS request is being made.
    2. scrapy

      1. Python网络爬虫之scrapy框架
      2. scrapy学习
      3. Python爬虫:关于scrapy模块的请求头
      4. Python爬虫:scrapy框架请求参数meta、headers、cookies一探究竟
      5. Python爬虫:scrapy辅助功能实用函数
    3. selenium+chrome + PhantomJS(抓取动态网页,不推荐)

      1. mac下安装selenium+phantomjs+chromedriver
      2. Python爬虫:selenium模块基本使用
      3. Python爬虫selenium模块
      4. Python爬虫:selenium和Chrome无头浏览器抓取烯牛数据动态网页
      5. Python爬虫:利用selenium爬取淘宝商品信息
      6. Python爬虫:selenium使用chrome和PhantomJS实用参数
    4. Splash(抓取动态网页,推荐)

      1. Python爬虫:splash的安装与简单示例
      2. Python爬虫:splash+requests简单示例
      3. Python爬虫:scrapy利用splash爬取动态网页

    总结:
    对于下载器而言,python自带的urllib就不要花时间去学了,学了就忘,直接requests能满足大部分测试+抓取需求,进阶工程化scrapy,动态网页优先找API接口,如果有简单加密就破解,实在困难就使用splash渲染

    二、页面解析器

    1. BeautifulSoup(入门级)

      1. Python爬虫入门BeautifulSoup模块
    2. pyquery (类似jQuery)

      1. Python爬虫:pyquery模块解析网页
    3. lxml

      1. Python爬虫:使用lxml解析网页内容
    4. parsel

      1. Extract text using CSS or XPath selectors
    5. scrapy的Selector (强烈推荐, 比较高级的封装,基于parsel)

      1. 选择器(Selectors)
      2. python爬虫:scrapy框架xpath和css选择器语法

    总结:
    其实解析器学习一个就够了,其他都不用学,很多培训会教你从上到下的学习,我不是很推荐,直接学习scrapy的Selector 就行,简单、直接、高效

    三、数据存储

    1. txt文本
      1. Python全栈之路:文件file常用操作
    2. csv文件
      1. python读取写入csv文件
    3. sqlite3 (python自带)
      1. Python编程:使用数据库sqlite3
    4. MySQL
      1. SQL:pymysql模块读写mysql数据
    5. MongoDB
      1. Python编程:mongodb的基本增删改查操作

    总结:
    数据存储没有什么可深究的,按照业务需求来就行,一般快速测试使用MongoDB,业务使用MySQL

    四、其他工具

    1. execjs :执行js
      Python爬虫:execjs在python中运行javascript代码

    2. pyv8: 执行js
      mac安装pyv8模块-JavaScript翻译成python

    3. html5lib
      1. Python爬虫:scrapy利用html5lib解析不规范的html文本

    五、关于xpath练习

    本人的一个开源项目:PageParser
    https://github.com/mouday/PageParser
    用于解析网页,最终实现6行代码写爬虫,可以贡献代码,顺便练习网页解析的能力

    展开全文
  • 一、框架 二、常用工具 1.用FireFox查看目标网页信息 2.request获取网页信息 3.用Beautiful和re进行数据清洗 4.使用Selenium和Phantmjs处理动态网页

    一、框架

    在这里插入图片描述

    二、常用工具

    1.用FireFox查看目标网页信息

    在这里插入图片描述

    2.request获取网页信息在这里插入图片描述

    3.用Beautiful和re进行数据清洗

    在这里插入图片描述

    4.使用Selenium和Phantmjs处理动态网页

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 网络—>重新载入标签页】 查看请求headers【F12—>网络—>重新载入标签页—>双击—>消息头—>原始头】 定位XHR动态请求url【F12—>网络—>重新载入标签页...

    浏览器

    • 找url【抓包】,找xhr,找head
      主要功能:

    • 定位网页元素【右键—>查看元素】

    • 查看通讯记录【F12—>网络—>重新载入标签页】
    • 查看请求headers【F12—>网络—>重新载入标签页—>双击—>消息头—>原始头】
    • 定位XHR动态请求url【F12—>网络—>重新载入标签页—>XHR—>响应 】
    • ……

    xhr:动态请求

    requests库
    http通讯库,常用函数:get post session
    主要功能:

    • 发送请求:get post put delete ……
    • 填写form表单,比如发帖子或博客,用post函数
    • SSL,CA证书验证
    • 身份认证
    • ……
      简单说:和服务器通信相关的所有功能
      官方教程:
      快速上手 — Requests 2.18.1 文档 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

      HTML解析库-BeautifulSoup库和re库

      简单的说:解析html,数据清洗

    • BeautifulSoup是用正则表达式实现的。

    • 许多对正则表达式熟练的开发者直接使用re库解析HTML文档
    • BS更加简单,必要处可配合re使用
    • re还常常用于对采集的文本数据的清洗,如去除换行符引用标签等

    Python爬虫利器二之Beautiful Soup的用法 | 静觅 https://cuiqingcai.com/1319.html
    正则表达式 – 教程 | 菜鸟教程 http://www.runoob.com/regexp/regexp-tutorial.html

    高级工具:selenium浏览器自动化测试框架和Phantomjs
    requests的困难:无法运行css和JavaScript
    动态网页DHTML 由html,css,javascript组成
    html是主体,装载各种dom元素;css用来装饰dom元素;JavaScript控制dom元素。处理DHTML困难的两种方法:抓包和selenium


    *selenium浏览器自动化测试框架*
    简单说:模拟人类用户,破解反爬虫策略

    崔庆才 | 静觅 https://cuiqingcai.com/author/cqcre
    selenium之 玩转鼠标键盘操作(ActionChains) - CSDN博客 https://blog.csdn.net/huilan_same/article/details/52305176

    展开全文
  • Python 网络爬虫的常用库汇总 爬虫编程语言有不少,但 Python 绝对是其中主流之一。今天就为大家介绍下 Python 在编写网络爬虫常常用到一些库。 请求库:实现 HTTP 请求操作 urllib:一系列用于操作URL功能...

    Python 网络爬虫的常用库汇总

    爬虫的编程语言有不少,但 Python 绝对是其中的主流之一。今天就为大家介绍下 Python 在编写网络爬虫常常用到的一些库。

    请求库:实现 HTTP 请求操作

    urllib:一系列用于操作URL的功能。
    
    requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。
    
    selenium:自动化测试工具。一个调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
    
    aiohttp:基于 asyncio 实现的 HTTP 框架。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。
    

    解析库:从网页中提取信息

    beautifulsoup:html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。
    
    pyquery:jQuery 的 Python 实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。
    
    lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
    
    tesserocr:一个 OCR 库,在遇到验证码(图形验证码为主)的时候,可直接用 OCR 进行识别。
    
    从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习、面试真题等。想要的可以进群:688244617免费领取学习资料
    

    存储库:Python 与数据库交互

    pymysql:一个纯 Python 实现的 MySQL 客户端操作库。
    
    pymongo:一个用于直接连接 mongodb 数据库进行查询操作的库。
    
    redisdump:一个用于 redis 数据导入/导出的工具。基于 ruby 实现的,因此使用它,需要先安装 Ruby。
    

    爬虫框架

    Scrapy:很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如 weibo 的页面信息,这个框架就满足不了需求了。
    
    Crawley:高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为 JSON、XML 等。
    
    Portia:可视化爬取网页内容。
    
    newspaper:提取新闻、文章以及内容分析。
    
    python-goose:java 写的文章提取工具。
    
    cola:一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高。
    

    Web 框架库

    flask:轻量级的 web 服务程序,简单,易用,灵活,主要来做一些 API 服务。做代理时可能会用到。
    
    django:一个 web 服务器框架,提供了一个完整的后台管理,引擎、接口等,使用它可做一个完整网站。
    
    1. Re库的基本使用

      Re库介绍:

       Re库是Python的标准库,主要用于字符串匹配。
      
       调用方式:import re
      

      正则表达式的表示类型:

       raw string类型(原生字符串类型):
      
           re库采用raw string类型表示正则表达式,表示为:r'text'
      
           例如:r'[1-9]\d{5}'
      
           raw string是指不包含转义符的字符串
      
       string类型,更繁琐。
      
           例如:'[1-9]\\d{5}';'\\d{3}-\\d{8}|\\d{4}-\\d{7}'
      

      当正则表达式包含转义符时,建议使用raw string类型来表示正则表达式。

      Re库主要功能函数:

    函数

    说明
    re.search()

    在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象

    re.match()

    从一个字符串的开始位置起匹配正则表达式,返回match对象

    re.findall()

    搜索字符串,以列表类型返回全部能匹配的字符串

    re.split()

    将一个字符串按照正则表达式匹配结果进行分割,返回列表类型

    re.finditer()

    搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象

    re.sub()

    在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串
    re.compile() 返回的是一个匹配对象,它单独使用就没有任何意义,需要和findall(), search(), match()搭配使用。

    re.search(pattern,string,flags=0)
    
        在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象。
    
            pattern:正则表达式的字符串或原生字符串表示
    
            string:待匹配字符串
    
            flags:正则表达式使用时的控制标记
    
                re.I(re.IGNORECASE):忽略正则表达式的大小写,[A-Z]能够匹配小写字符
    
                re.M(re.MULTILINE):正则表达式中的^操作符能够将给定字符串的每行当作匹配开始
    
                re.S(re.DOTALL):正则表达式中的.操作符能够匹配所有字符,默认匹配除换行外的所有字符****!!!!****
    
                          
    
    re.match(pattern, string, flags = 0)
    
        从一个字符串的开始位置起匹配正则表达式,返回match对象。
    
            pattern:正则表达式的字符串或原生字符串表示
    
            string:待匹配字符串
    
            flags:正则表达式使用时的控制标记
    
                            
    
    re.findall(pattern, string, flags = 0)
    
        搜索字符串,以列表类型返回全部能匹配的子串。
    
            pattern:正则表达式的字符串或原生字符串表示
    
            string:待匹配字符串
    
            flags:正则表达式使用时的控制标记
    
                            
    
    re.split(pattern, string, maxsplit = 0, flags = 0)
    
        搜索字符串,以列表类型返回全部能匹配的子串。
    
            pattern:正则表达式的字符串或原生字符串表示
    
            string:待匹配字符串
    
            maxsplit:最大分割数,剩余部分作为最后一个元素输出
    
            flags:正则表达式使用时的控制标记
    
                            
    
    re.finditer(pattern, string, flags = 0)
    
        搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象。
    
            pattern:正则表达式的字符串或原生字符串表示
    
            string:待匹配字符串
    
            flags:正则表达式使用时的控制标记
    
                               
    
    re.compile()
    
    compile()的定义:
    
        compile(pattern, flags=0) 
        Compile a regular expression pattern, returning a pattern object.
    
    从compile()函数的定义中,可以看出返回的是一个匹配对象,它单独使用就没有任何意义,需要和findall(), search(), match()搭配使用。 
    compile()与findall()一起使用,返回一个列表。
    
        import re
         
        def main():
            content = 'Hello, I am Jerry, from Chongqing, a montain city, nice to meet you……'
            regex = re.compile('\w*o\w*')
            x = regex.findall(content)
            print(x)
         
         
        if __name__ == '__main__':
            main()
        # ['Hello', 'from', 'Chongqing', 'montain', 'to', 'you']
    
    
    compile()与match()一起使用,可返回一个class、str、tuple。但是一定需要注意match(),从位置0开始匹配,匹配不到会返回None,返回None的时候就没有span/group属性了,并且与group使用,返回一个单词‘Hello’后匹配就会结束。
    
        import re
         
        def main():
            content = 'Hello, I am Jerry, from Chongqing, a montain city, nice to meet you……'
            regex = re.compile('\w*o\w*')
            y = regex.match(content)
            print(y)
            print(type(y))
            print(y.group())
            print(y.span())
         
         
        if __name__ == '__main__':
            main()
        # <_sre.SRE_Match object; span=(0, 5), match='Hello'>
        # <class '_sre.SRE_Match'>
        # Hello
        # (0, 5)
    
    compile()与search()搭配使用, 返回的类型与match()差不多, 但是不同的是search(), 可以不从位置0开始匹配。但是匹配一个单词之后,匹配和match()一样,匹配就会结束。
    
     
    
    re.sub(pattern, repl, string, count = 0, flags = 0)
    
        在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串。
    
            pattern:正则表达式的字符串或原生字符串表示
    
            repl:替换匹配字符串的字符串
    
            string:待匹配字符串
    
            count:匹配的最大替换次数
    
            flags:正则表达式使用时的控制标记
    
    展开全文
  • 下面就为大家介绍下 Python 在编写网络爬虫常常用到一些库。 请求库:实现 HTTP 请求操作 urllib:一系列用于操作URL功能。 requests:基于 urllib 编写,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器...
  • 网络爬虫概述 爬虫实际例子 1.搜索引擎(最大爬虫示例例子了) 2.伯乐在线 3.惠惠购物助手 4.数据分析与研究(数据冰山知乎专栏) 5.抢票软件等 什么是网络爬虫 1.通俗理解:爬虫是一个模拟人类请求网站行为...
  • 下面就为大家介绍下 Python 在编写网络爬虫常常用到一些库。请求库:实现 HTTP 请求操作urllib:一系列用于操作URL功能。requests:基于 urllib 编写,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应...
  • 下面就为大家介绍下 Python 在编写网络爬虫常常用到一些库。请求库:实现 HTTP 请求操作urllib:一系列用于操作URL功能。requests:基于 urllib 编写,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应...
  • 添加httpclient 使用版本是4.5.8,使httpclent进行爬虫,创建一个工具类获取网页文本 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclie...
  • 基于python的网络爬虫初探

    千次阅读 2019-03-04 14:16:51
    @TOC基于python的网络爬虫初探 网络爬虫概述 网络爬虫主要包含两个任务:1.下载目标网页;2.从目标网页提取需要的数据。 网络爬虫的主要类型:1....2.聚焦网络爬虫;...1.python中实现网络爬虫工具包 (1) pytho...
  • 一、常用模块 1、requests模块,网络请求 Requests是用python语言基于urllib编写,采用是Apache2 Licensed开源协议HTTP库,Requests它会比urllib更加方便,可以节约我们大量时间 其它还有:urllib,urllib2...
  • 下面就为大家介绍下 Python 在编写网络爬虫常常用到一些库。请求库:实现 HTTP 请求操作urllib:一系列用于操作URL功能。requests:基于 urllib 编写,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应...
  • python 爬虫工具记录

    2018-05-25 17:13:58
    记录一些常用的爬虫工具:常用爬虫库1、Requests比较简单,常用的爬虫库2、pyspider一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本...
  • 一、常用模块1、requests模块,网络请求Requests是用python语言基于urllib编写,采用是Apache2 Licensed开源协议HTTP库,Requests它会比urllib更加方便,可以节约我们大量时间其它还有:urllib,urllib2等2、...
  • Python 进行数据爬取(网络爬虫

    千次阅读 2019-06-10 23:30:07
    随着大数据时代的来临,数据的价值也越来越大,因此如何获取网络上的数据也是许多程序员的必备知识之一。本人作为某上市公司...Python 进行爬虫常用的一些工具(数据的请求、数据的解析、数据的存储等方面) 实战...
  • Python 网络爬虫

    2020-05-03 19:39:55
    Python 网络爬虫.1(笔记) 笔记均是观看慕课视频所记录的。 掌握定向网络数据爬取和网页解析的基本能力。 The website is API… 学习流程: 常用的Python IDE工具 文本工具类IDE 集成工具类IDE IDLE ...
  • 内容:爬虫定义 + 网络爬虫的类别 + 获取到内容合法性讨论 本章对爬虫及反爬虫进行了一个基本概述,同时简要介绍了Python爬虫环境,对本章内容做小结如下。 爬虫是一种可以自动下载网页脚本或计算机工具,...
  • 一、常用模块1、requests模块,网络请求Requests是用python语言基于urllib编写,采用是Apache2 Licensed开源协议HTTP库,Requests它会比urllib更加方便,可以节约我们大量时间其它还有:urllib,urllib2等2、...
  • Python开发爬虫常用的工具总结reqeusts:Python HTTP网络请求库;pyquery: Python HTML DOM结构解析库,采用类似JQuery的语法;BeautifulSoup:python HTML以及XML结构解析;selenium:Python自动化测试框架,可以用于...
  • C++网络爬虫项目

    2018-07-04 00:59:17
    搜索引擎信息源来自于互联网网页,通过“网络爬虫” 将整个“互联网” 信息获取到本地,因为互联网页面中有相当大比例内容是完全相同或者近似 重复,“网页去重”模块会对此做出检测,并去除重复内容。 在...
  • 学习 北京理工大学嵩天课程笔记课程体系结构:1、Requests框架:自动爬取HTML页面与自动网络请求提交2、...网络爬虫原理介绍,专业爬虫框架介绍理念:The Website is the API ...Python语言常用的IDE工具文本工具...
  • 针对字符串表达“简洁”和“特征”思想的工具 正则表达式在文本处理中作用: 表达文本类型 同时查找和替换一组字符串 匹配字符串全部或部分 正则表达式常用操作符: 正则表达式语法实例:...
  • 网络爬虫之豆瓣电影

    2020-09-15 08:56:52
    Python作为最易上手的编程语言之一,在很多领域的应用已经相对成熟,尤其是一些工具应用类的场景,比如本文要介绍的网络爬虫。网络爬虫目前比较成熟的方法有三种,在Python中都有现有打包好的包/库,直接调用,非常...
  • Python网络爬虫与信息提取

    千次阅读 2020-05-17 15:28:15
    Python网络爬虫与信息提取 掌握定向网络数据爬取和网页解析的基本能力 几个部分: ...robots.txt协议,网络爬虫的规则,网络爬虫排除标准 ...实战项目Projects:A/B,了解库以及...常用的PythonIDE工具 文本工具类 ID

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 268
精华内容 107
关键字:

常用的网络爬虫工具

爬虫 订阅