精华内容
下载资源
问答
  • Python爬虫开发入门

    千人学习 2020-12-11 20:52:57
    课程介绍:大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造,本课程是爬虫工程师的入门阶段,了解爬虫的领域,能做什么,爬虫原理,抓包工具的调教使用,每一个爬虫都会涉及到抓包,属于爬虫工程师...
  • 商品详情书名:Python爬虫开发实战教程(微课版)定价:49.8ISBN:9787115527882作者:蜗牛学院 卿淳俊 邓强版次:*1版出版时间:2020-06内容提要:本书以Python语言为基础描述了网络爬虫的基础知识,用大量实际案例...

    商品详情

    书名:Python爬虫开发实战教程(微课版)

    定价:49.8

    ISBN:9787115527882

    作者:蜗牛学院 卿淳俊 邓强

    版次:*1版

    出版时间:2020-06

    内容提要:

    本书以Python语言为基础描述了网络爬虫的基础知识,用大量实际案例及代码,向读者介绍了编写网络爬虫所需要的相关知识要点及项目实践的相关技巧。本书共5章,介绍了爬虫的基本结构及工作流程、抓包工具、模拟网络请求、网页解析、去重策略、常见反爬措施,以及大型商业爬虫框架Scrapy的应用,*后介绍了数据分析及可视化的相关基础知识。

    作者简介:

    卿淳俊,蜗牛学院*深讲师,16年IT行业工作经验。曾就职于Nokia、Tieto等知名外企,担任项目管理、*级工程师职位,负责软件测试、软件研发等工作。精通各类开发及测试工具、框架设计与实现,尤其擅长电商、大数据领域的项目。曾作为行业特邀专家与四川省质量技术监督局共同起草了四川省质量标准文件《移动智能终端应用软件(APP)产品通用技术要求及测试规范》。随着数据科学领域的发展,近几年在Python爬虫、数据分析、人工智能领域也积累了丰富的实战经验。教学风格深入浅出,思路严谨,并坚持“授人以鱼不如授人以渔”的原则,培养了大量*秀行业人才。 邓强,蜗牛学院创始人,独立咨询顾问,*深企业内训讲师,四川大学硕士,16年软件研发及管理经验。精通各种开发和测试技术,具有丰富的项目实施经验和研发管理经验。曾为深圳移动,大唐软件,华夏基金,联想集团,第九城市等20余家企业提供技术咨询、项目实施及内训服务。出版技术类图书近10本,覆盖Web前端开发、Java、PHP、Python开发,以及自动化测试开发等领域。从事培训事业以来学生数万,遍布国内外各大IT公司。教学思路严谨,原理讲解透彻。

    目录:

    第 1章 静态网页爬虫 1

    1.1 爬虫的基本概念和工作原理 2

    1.1.1 什么是网络爬虫 2

    1.1.2 爬虫的结构与工作流程 3

    1.2 爬虫抓包分析 4

    1.2.1 使用Chrome浏览器进行抓包分析 4

    1.2.2 使用Fiddler进行抓包分析 11

    1.3 Requests库的基本使用方法 22

    1.3.1 安装Requests库 22

    1.3.2 通过Requests发送GET请求 22

    1.3.3 在GET请求中添加参数 29

    1.3.4 发送POST请求 29

    1.3.5 获取请求的状态码 30

    1.3.6 指定请求时使用的headers及动态更新headers 31

    1.3.7 指定Cookies和动态更新Cookies 32

    1.3.8 使用session对象保持会话状态 34

    1.4 网页解析利器XPath、CSS-Selector和正则表达式语法 35

    1.4.1 XPath的基本语法及使用 35

    1.4.2 常见相对路径引用 37

    1.4.3 XPath进阶应用 38

    1.4.4 CSS-Selector的基本语法及使用 40

    1.4.5 正则表达式的基本语法及使用 41

    1.5 常见爬虫爬取策略 43

    1.5.1 宽度优先搜索策略 44

    1.5.2 深度优先搜索策略 45

    1.6 常见网页URL和内容去重策略 48

    1.6.1 去重策略的使用场景 48

    1.6.2 常见爬虫去重策略 48

    1.6.3 BloomFilter算法 49

    1.6.4 内容去重策略的实现 52

    1.7 实战:编写一个基于静态网页的爬虫 52

    第 2章 常见反爬措施及解决方案 65

    2.1 常见反爬手段——身份验证 66

    2.1.1 使用登录的Cookies获取数据 66

    2.1.2 模拟登录请求 71

    2.1.3 使用Selenium模拟登录 74

    2.2 常见反爬手段——验证码 76

    2.2.1 验证码反爬原理 76

    2.2.2 常见验证码类型 77

    2.2.3 常见验证码处理方式 77

    2.3 常见反爬手段——速度、数量限制 87

    2.3.1 服务器对速度、数量限制反爬的原理和手段 87

    2.3.2 针对反爬限速、频次限制的突破手段 87

    2.4 自己动手搭建IP代理池 88

    2.4.1 创建IP代理池的基本要求 89

    2.4.2 IP代理池基本架构 89

    2.4.3 相关组件的安装 90

    2.4.4 同步I/O和异步I/O的概念和区别 97

    2.4.5 在Python中如何实现异步I/O 98

    2.5 常见反爬手段——异步动态请求 105

    2.6 常见反爬手段——JS加密请求参数 110

    第3章 自己动手编写一个简单的爬虫框架 122

    3.1 简单爬虫框架的结构 123

    3.2 编写URL管理器 124

    3.3 编写资源下载器 125

    3.4 编写HTML解析器 126

    3.5 编写资源存储器 128

    3.6 编写爬虫调度器 128

    第4章 Scrapy框架应用 131

    4.1 Scrapy的相关概念与原理 132

    4.2 安装Scrapy框架 134

    4.2.1 在Windows中安装Scrapy 134

    4.2.2 在Linux中安装Scrapy 136

    4.2.3 在MacOS中安装Scrapy 136

    4.3 创建第 一个Scrapy项目 137

    4.3.1 创建Scrapy项目 137

    4.3.2 Scrapy项目的结构 137

    4.3.3 定义爬虫文件 138

    4.4 在PyCharm中运行和调试Scrapy项目 142

    4.4.1 在PyCharm中运行Scrapy项目 143

    4.4.2 在PyCharm中调试Scrapy项目 144

    4.5 使用Scrapy进行请求间数据传递 146

    4.6 Scrapy命令行用法详解 152

    4.7 常用Scrapy组件的用法 160

    4.7.1 定义数据Item 160

    4.7.2 利用Item Pipeline将数据持久化 162

    4.7.3 编写Item Pipeline 163

    4.7.4 中间件的用法 173

    4.8 Scrapy中对同一项目不同的Spider启用不同的配置 178

    4.9 Scrapy分布式爬虫的运行原理 182

    4.9.1 实现多机分布式爬取的关键 182

    4.9.2 源码解读之connection.py 184

    4.9.3 源码解读之dupefilter.py 184

    4.9.4 源码解读之pipelines.py 185

    4.9.5 源码解读之queue.py 186

    4.9.6 源码解读之scheduler.py 187

    4.9.7 源码解读之spider.py 188

    4.10 利用Scrapy+Redis进行分布式爬虫

    实践 190

    4.10.1 运行环境准备 190

    4.10.2 修改Scrapy项目配置及相关源码 191

    4.10.3 部署到不同的从机中 192

    4.10.4 其他可选配置参数 192

    第5章 爬虫数据分析及可视化 193

    5.1 安装Jupyter Notebook和Highcharts库 194

    5.1.1 Jupyter Notebook 194

    5.1.2 使用Jupyter Notebook的原因 195

    5.1.3 Jupyter Notebook的安装和配置 195

    5.1.4 安装过程中可能遇到的错误 196

    5.1.5 Jupyter Notebook的常用设置 198

    5.1.6 Highcharts库的安装和配置 198

    5.2 熟悉Jupyter Notebook的基本用法 199

    5.2.1 创建一个新的Notebook文件 199

    5.2.2 在Jupyter Notebook中运行代码 200

    5.2.3 在Jupyter Notebook中编写Markdown格式文档 202

    5.3 熟悉Highcharts库的基本用法 203

    5.3.1 Highcharts的基本组成 203

    5.3.2 Python charts库的基本使用 204

    5.3.3 charts的option属性设置 207

    5.4 利用Jupyter Notebook和Highcharts实现数据分析和展示 209

    5.4.1 数据分析的流程 210

    5.4.2 数据分析实践 210

    5.5 利用词云实现可视化效果 213

    5.5.1 jieba分词器 213

    5.5.2 jieba分词器的特点及安装方法 214

    5.5.3 wordcloud词云组件 215

    5.5.4 利用蜗牛笔记数据生成词云 218

    参考文献 222

    展开全文
  • 最近突然想到了可以用Python爬虫下载抖音视频,弄到手机上,出行直接看就行了,手机网络都不用,也不要流量。 于是乎先去github看是否有前辈做过类似的事情,果然,让我发现了一个强大的神器。amemv-crawler,这...

    前言:
    有没有感觉网络不好的时候一个小视频要等半天才能看,而且等了这么久还不定能下载完成。特别是在外出差的交通工具上的时候,那时候网络真叫一个差字啊!想看抖影音打发时间都没网络。最近突然想到了可以用Python爬虫下载抖音视频,弄到手机上,出行直接看就行了,手机网络都不用,也不要流量。

    于是乎先去github看是否有前辈做过类似的事情,果然,让我发现了一个强大的神器。amemv-crawler,这是一个基于Python的脚本,配置运行后可以下载指定抖音用户的全部视频(含收藏),也可以下载指定主题或音乐下的全部视频。

    环境安装

    我自己实验的系统环境是:ubuntu16.04
    配置好你的Python环境,然后pip install requests.

    然后:

    git clone https://github.com/loadchange/amemv-crawler.git
    cd amemv-crawler
    pip install -r requirements.txt
    

    配置和运行

    有两种方式来指定你要下载的抖音号分享链接,指定命令行参数或者编辑share-url.txt。

    作为程序员,首先推荐指定命令行参数:

    通过指定运行时的命令行参数来指定要下载的站点:

    python amemv-video-ripper.py --url URL1,URL2
    

    分享链接以逗号分隔,不要有空格.
    如果是用户URL默认不下载喜欢列表,需要增加 --favorite

    python amemv-video-ripper.py --url URL --favorite
    

    视频的下载与保存

    • 程序运行后,会默认在当前路径下面生成一个跟抖音ID名字相同的文件夹,视频都会放在这个文件夹下面。
    • 运行这个脚本,不会重复下载已经下载过的视频,所以不用担心重复下载的问题。同时,多次运行可以
      帮你找回丢失的或者删除的视频。

    小技巧

    如果你想下载整个挑战主题,请在 share-url.txt 文件中添加 挑战的分享URL。

    • 既为抖音号、挑战主题和音乐的三种爬虫方式,需要注意的是,爬虫只对搜索结果第一的结果进行下载,所以请尽量完整的写出你的 主题或音乐名称、短地址。

    如有侵权,请联系我!!!

    展开全文
  • python爬虫 带配套开发环境和工具
  • 爬虫一共就四个主要步骤: 明确目标 (要知道准备在哪个范围或者网站去搜索) 爬 (将所有的网站的内容全部爬下来) 取 (去掉对我们没用处的数据) 处理数据(按照我们想要的方式存储和使用) ...
    • 爬虫一共就四个主要步骤:
      • 明确目标 (要知道准备在哪个范围或者网站去搜索)
      • 爬 (将所有的网站的内容全部爬下来)
      • 取 (去掉对我们没用处的数据)
      • 处理数据(按照我们想要的方式存储和使用)

    这个东西主要爬取得是 标题,链接,作者 ,并且网页也会爬取保存下来

    # coding=utf-8
    
    import requests
    
    # 利用Xpath把待筛选的数据分组
    from lxml import etree
    
    # 可以利用正则表达式仔细筛选需要的数据
    import re
    
    import json
    
    
    class TiebaSpider:
        def __init__(self, tieba_name, NumPage):
            '''
            :param tieba_name: 贴吧名
            :param NumPage: 爬取页面数量
            '''
    
            self.tieba_name = tieba_name
            self.NumPage = NumPage
    
            # 明确url规律,组成url
            self.start_url = "https://tieba.baidu.com/f?kw=" + tieba_name + "&ie=utf-8&pn={}"
    
            # 此处尽量模仿浏览器请求头
            self.headers = {
                "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"}
    
        def get_url_list(self):  # 1.构造url列表
            return [self.start_url.format(i * 50) for i in range(self.NumPage)]
    
        def parse_url(self, url):  # 发送请求,获取响应
            '''
            :param url: 网页地址
            :return: 返回html字符串
            '''
    
            response = requests.get(url, self.headers)
    
            return response.content.decode()
    
        def get_content_list(self, html_str):  # 提取数据
            '''
            :param html_str:翻入你要筛选的字符串
            :return: 返回你需要的数据
            '''
    
            html = etree.HTML(html_str)
    
            # 用Xpath把待筛选的数据分组
            li_list = html.xpath("//*[@id='thread_list']/li")
            content_list = []
            for div in li_list:
                item = {}
                item["title"] = div.xpath(
                    "//div/div[2]/div[1]/div[1]/a//@title")  # 标题
                item["href"] = div.xpath(
                    "//div/div[2]/div[1]/div[1]/a/@href")  # 链接
                item["author"] = div.xpath(
                    "//div/div[2]/div[1]/div[2]/span[1]/@title")  # 作者
                # print("-----------------------------------------------------------------")
                content_list.append(item)
    
            return content_list
    
        def save_content_list(self, content_list, page):  # 保存提取的数据
            '''
            :param content_list: 需要保存的数据集
            :param page: 页码数量
            :return: 得到提取出来的数据文件,格式为txt
            '''
    
            # file_path = self.tieba_name + ".txt"
            file_path = "{}—第{}页数据.txt".format(self.tieba_name, page)
    
            # 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
            with open(file_path + ".txt", "a") as f:
                for content in content_list:
                	# python类型转化为json字符串,返回一个str对象
                    f.write(json.dumps(content, ensure_ascii=False, indent=2))
                    f.write("\n")
    
        def run(self):
            # 1.得到URL集合
            start_url = self.get_url_list()
            page = 1
    
            for url in start_url:
                file_path = "{}—第{}页.html".format(self.tieba_name, page)
                print(url)
                # 2.发送请求
                html_str = self.parse_url(url)
                # print(html_str)
                
                # 爬取的网页保存下来
                with open(file_path + ".html", "a") as f:
                    f.write(html_str)
    
                # 3.提取数据
                content_list = self.get_content_list(html_str)
                # 4.保存数据
                self.save_content_list(content_list, page)
                page += 1
    
    
    if __name__ == '__main__':
        #因为喜欢玩这个游戏,所以此处以 战争雷霆吧 为爬取对象
        tieba_spider = TiebaSpider("战争雷霆", 2)
        tieba_spider.run()
    
    
    

    如有侵权,请联系我!!!

    展开全文
  • python爬虫开发工具篇-Pycharm

    千次阅读 2019-01-20 10:55:25
    Python爬虫,第一步当然要安装Python啦! 不啰嗦,Python下载链接在此:https://www.python.org/downloads/ (我下载的3.7.2版本) 下载完成后双击运行,到下面这一步的时候,记得勾选添加到PATH,省得再去配置...

    声明:有的图是用的别人的图,这些软件我懒得再重装一遍

    一:Python安装

    写Python爬虫,第一步当然要安装Python啦!

    不啰嗦,Python下载链接在此:https://www.python.org/downloads/   (我下载的3.7.2版本)

    下载完成后双击运行,到下面这一步的时候,记得勾选添加到PATH,省得再去配置环境变量

     

    然后点击Customize installation可以自定义安装路径,其他的需要安装的东西各取所需吧,不过pip记得一定要打勾

    的东

    安装完后运行cmd,输入python,显示下图则表示安装成功

    二:Pycharm

    一般写个python爬虫的话Pycharm就够了,而且社区版就足够使用了,不用去想什么破解的专业版

    Anaconda也很强大,但是里面的东西太多了,我们暂时用不了那么多

     

    不啰嗦,Pycharm下载链接在此:    http://www.jetbrains.com/pycharm/download/#section=windows

    安装文件下载完成后直接双击安装,到下面这一步时记得勾选64位(因为我的电脑64位)

    之后没什么要注意的,安装完成后这里点击Do not import settings

     

    新建Python项目时,注意下图:

    选择一个已存在的解释器就行(去自己安装python的目录里找python.exe就行),不然有时候某些模块不能正常使用,其他没有什么要注意的,安装到此结束。

    展开全文
  • 1.什么是爬虫 - 爬虫就是模拟客户端(浏览器)发送网络请求,获取相应,按照规则提取数据的程序 - 模拟客户端(浏览器)发送网络请求:照着浏览器发送...- python3 基础语法(字符串,列表,字典,判断和循环)...
  • 看到工具清单,你会发现原来开发5年,和“新手”使用的工具还是一样的呢
  • 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时...Chrome 开发者工具是一套内置于 Google Chrome 中的 Web 开发和调试工具,可用来对网站进行迭代、调试和分析。因为国内很.
  • 如何使用python开发爬虫工具下载图片 相信大家想下载所有的图片必须 打开浏览器然后输入想下载的内容才能下载。或者开发爬虫读取网上的图片并下载。 现在,我想给大家推荐一下比较方便又好用的爬虫工具。下面我来给...
  • 课程介绍:大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造,本课程是爬虫工程师的入门阶段,了解爬虫的领域,能做什么,爬虫原理,抓包工具的调教使用,每一个爬虫都会涉及到抓包,属于爬虫工程师...
  • 该命令仅仅是提供一个快捷方式,开发者可以自由选择其他工具或者IDE来编写调试spider。 $ scrapy edit cnblogs parse命令,语法:scrapy parse<url>[options]。获取给定的URL并使用相应的spider分析处理。...
  • 往下看:150讲课程内容花2分钟了解下~ ... 重点:通过爬虫进阶的知识点我们能应对大量的反爬... 1、面向企业实际需求,为零基础从入门到进阶中级python爬虫工程打造。 2、从网络抓包开始讲起,到网...
  • python爬虫模块Beautiful Soup简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能...
  • 【本课程如何让你系统掌握python爬虫?】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求...
  • 推荐一下我建的python学习交流qun:850973621,群里有免费的视频教程,开发工具、 电子书籍、项目源码分享。一起交流学习,一起进步! 一、认识爬虫 1.1、什么是爬虫爬虫:一段自动抓取互联网信息的程序,从...
  • 目前市面上我们常见的爬虫软件大致可以划分为两大类:云爬虫和采集器(特别说明:自己开发爬虫工具爬虫框架除外) 云爬虫就是无需下载安装软件,直接在网页上创建爬虫并在网站服务器运行,享用网站提供的带宽和...
  • 中国有句古话说:...所以说编写和运行程序之前我们必须要先把开发环境配置好,只有配置好了环境并且有了更方便的开发工具我们才能更加高效地用程序实现相应的功能达到事半工倍的效果,然而很多情况下我们可能在...
  • 一、爬虫介绍与常用工具 第一个爬虫 from urllib.request import urlopen url = 'http://www.baidu.com' response = urlopen(url) print(response.read().decode()) print(response.getcode()) #返回状态码 ...
  • Python爬虫开源软件工具

    千次阅读 2017-05-28 09:21:40
    Python爬虫 (1)QuickRecon QuickRecon是一个简单的信息收集工具,它可以帮助你查找子域名名称、perform zone transfe、收集电子邮件地址和使用microformats寻找人际关系等。 QuickRecon使用python编写,支持...
  • Python 爬虫实战入门教程 州的先生《Python 爬虫实战入门教程》作者:州的先生微信公众号:州的先生 博客:2018/3/241Python 爬虫实战入门教程 州的先生目录目录 2第一章:工具准备 31.1、基础知识 31.2、开发环境、...
  • 点击上方“AI派”,选择“设为星标”最新分享,第一时间送达!Tango,目前就职在一家对日开发的的IT服务公司。不是科班出身的我,出于对编程的热爱,自学了软件开发。从此深...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,467
精华内容 586
关键字:

python爬虫开发工具

python 订阅
爬虫 订阅