scrapy

Python网络爬虫入门篇

六眼飞鱼酱① 提交于 2020-11-01 15:12:15
1. 预备知识 学习者需要预先掌握Python的数字类型、字符串类型、分支、循环、函数、列表类型、字典类型、文件和第三方库使用等概念和编程方法。 Python入门篇: https://www.cnblogs.com/wenwei-blog/p/10592541.html 2. Python爬虫基本流程 a. 发送请求 使用http库向目标站点发起请求,即发送一个Request,Request包含:请求头、请求体等。 Request模块缺陷:不能执行JS 和CSS 代码。 b. 获取响应内容 如果requests的内容存在于目标服务器上,那么服务器会返回请求内容。 Response包含:html、Json字符串、图片,视频等。 c. 解析内容 对用户而言,就是寻找自己需要的信息。对于Python爬虫而言,就是利用正则表达式或者其他库提取目标信息。 解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等 解析json数据:json模块 解析二进制数据:以wb的方式写入文件 d. 保存数据 解析得到的数据可以多种形式,如文本,音频,视频保存在本地。 数据库(MySQL,Mongdb、Redis) 文件 3. Requests库入门 Requests是用python语言基于urllib编写的,采用的是Apache2

手把手教你使用Python抓取QQ音乐数据(第三弹)

本小妞迷上赌 提交于 2020-10-30 08:03:59
点击上方“ IT共享之家 ”,进行关注 回复“ 资料 ”可获赠Python学习福利 【一、项目目标】 通过 手把手教你使用Python抓取QQ音乐数据(第一弹) 我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。 通过 手把手教你使用Python抓取QQ音乐数据(第二弹) 我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评。 此次我们在项目(二)的基础上获取更多评论并生成词云图,形成手把手教你使用Python抓取QQ音乐数据(第三弹)。 【二、需要的库】 主要 涉及的库有:requests、json、wordcloud、jieba 如需更换词云图背景图片还需要numpy库和PIL库(pipinstall pillow) 【三、项目实现】 1.首先回顾一下,下面是项目(二)获取指定歌曲首页热评的代码; def get_comment ( i ): url_3 = 'https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg' headers = { 'user-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari

爬虫-scrapy数据的持久化存储

大兔子大兔子 提交于 2020-10-28 10:46:15
今日概要 基于终端指令的持久化存储 基于管道的持久化存储 1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。 执行输出指定格式进行存储:将爬取到的数据写入不同格式的文件中进行存储 scrapy crawl 爬虫名称 -o xxx.json scrapy crawl 爬虫名称 -o xxx.xml scrapy crawl 爬虫名称 -o xxx.csv 2.基于管道的持久化存储 scrapy框架中已经为我们专门集成好了高效、便捷的持久化操作功能,我们直接使用即可。要想使用scrapy的持久化操作功能,我们首先来认识如下两个文件: items.py:数据结构模板文件。定义数据属性。 pipelines.py:管道文件。接收数据(items),进行持久化操作。 持久化流程: 1.爬虫文件爬取到数据后,需要将数据封装到items对象中。 2.使用yield关键字将items对象提交给pipelines管道进行持久化操作。 3.在管道文件中的process_item方法中接收爬虫文件提交过来的item对象,然后编写持久化存储的代码将item对象中存储的数据进行持久化存储 4.settings.py配置文件中开启管道 小试牛刀:将糗事百科首页中的段子和作者数据爬取下来

用 Python 爬取糗事百科

旧时模样 提交于 2020-10-28 06:49:05
作者:不温卜火 https://blog.csdn.net/qq_16146103/article/details/108670257 爬取前的准备 糗事百科官网: https://www.qiushibaike.com 段子网址: https://www.qiushibaike.com/text 关于解析html博主选择的方法是使用xpath,如有不懂的同学,可看下面两个表格。如果想要深入学习xpath的相关知识可点击博主给的官方文档的链接进行学习,博主在此声明是为了让读者们能够理解解析式的具体含义。 官网网址: https://lxml.de/tutorial.html 路径表达式 匹配属性 1.1 查看网页 根据上图标记部分可以看到我们主要的要点如下。 整体部分 作者名称 文本内容 标签翻页 1.2 标签分析 首先我们需要知道我们爬取的所有内容所在标签 通过查看开发者选项,发现 <div class ="coll old-style-coll"> 这个标签对应的正是所有内容的整体存放位置,那么我们也可知道之后的所有内容都是从此标签的子标签内提取得到。 分析一番后,我们可以得到获取所有文本内容的解析式如下: //div[@ class = ' col1 old - style - col1 ']/ div 作者名称所在位置 由上图我们可以看到作者的位置在 <h2></h2>

Fiddler 手机爬虫

╄→гoц情女王★ 提交于 2020-10-28 05:55:39
Fiddler抓包工具 配置Fiddler 添加证书信任,Tools - Options - HTTPS,勾选 Decrypt Https Traffic 后弹出窗口,一路确认 ...from browsers only 设置只抓取浏览器的数据包 Tools - Options - Connections,设置监听端口(默认为8888) 关闭Fiddler,再打开Fiddler,配置完成后重启Fiddler(重要) 配置浏览器代理 1、安装Proxy SwitchyOmega插件 2、浏览器右上角:SwitchyOmega->选项->新建情景模式->AID1901(名字)->创建 输入 :HTTP:// 127.0.0.1 8888 点击 :应用选项 3、点击右上角SwitchyOmega可切换代理 Fiddler常用菜单 1、Inspector :查看数据包详细内容   整体分为请求和响应两部分 2、常用菜单   Headers :请求头信息   WebForms: POST请求Form表单数据 :<body>   GET请求查询参数: <QueryString>   Raw 将整个请求显示为纯文本 手机设置 正常版 1、设置手机 2、设置Fiddler 最后重启Fiddler。 如果遇到问题 在计算机中win+R,输入regedit打开注册表,找到fiddler

第71天: Python Scrapy 项目实战

有些话、适合烂在心里 提交于 2020-10-27 16:53:34
by 戴景波 爬虫编写流程 首先明确 Python 爬虫代码编写的流程:先直接打开网页,找到你想要的数据,就是走一遍流程。比如这个项目我要爬取历史某一天所有比赛的赔率数据、每场比赛的比赛结果等。 那么我就先打开这个网址: https://live.leisu.com/wanchang?date=20190606 然后点击“竞彩”,再点击“指数”,跳转到另一个网址: https://live.leisu.com/3in1-2674547,然后就看到了想要的数据:各公司主队获胜赔率1.61、1.65等。 到此为止,开始动手通过代码实现这个过程。 解析“爬虫主程序.py” :(主程序包括四个函数) ## -*- coding: utf-8 -*- ls_url = 'https://live.leisu.com/wanchang?date='#ls历史https://live.leisu.com/wanchang?date=20190606 class LiveJiangSpider(scrapy.Spider): name = 'FBP' allowed_domains = ['leisu.com'] def start_requests(self): d1='20190606' #历史的比赛 request = scrapy.http.FormRequest(ls_url + d1

精通Python网络爬虫核心技术-框架与项目实战pdf【108mb】 |内附下载地址提取码|

最后都变了- 提交于 2020-10-25 20:58:23
精通Python网络爬虫 这是一本实战性的网络爬虫秘笈,不仅讲解了如何编写爬虫,而且还讲解了流行的网络爬虫的使用。 点击此处下载 提取码:h5nn 全书分为4个部分:第壹部分对网络爬虫做了概要性的介绍,主要介绍了网络爬虫的常识和所涉及的技术概览;第二部分是本书的重点之一,详细讲解了网络爬虫的核心技术,包括网络爬虫的实现原理与实现技术、Urllib库和URLError库的异常处理、正则表达式与Cookie的使用、Fiddler的使用、爬虫的浏览器伪装技术、爬虫的定向抓取技术等;第三部分讲解了流行的爬虫框架Scrapy的使用、架构和高级应用,是目前关于Scrapy详细的讲解;第四部分是3个实战案例,讲解了博客爬虫、图片爬虫和模拟登陆爬虫的编写方法。 本书从技术、工具与实战3个维度讲解了Python网络爬虫: 技术维度:详细讲解了Python网络爬虫实现的核心技术,包括网络爬虫的工作原理、如何用urllib库编写网络爬虫、爬虫的异常处理、正则表达式、爬虫中Cookie的使用、爬虫的浏览器伪装技术、定向爬取技术、反爬虫技术,以及如何自己动手编写网络爬虫; 工具维度:以流行的Python网络爬虫框架Scrapy为对象,详细讲解了Scrapy的功能使用、高级技巧、架构设计、实现原理,以及如何通过Scrapy来更便捷、高效地编写网络爬虫; 实战维度:以实战为导向,是本书的主旨