网络爬虫
one named slash
Bullet for My Valentine
展开
-
NO.5——分析Ajax请求爬取新浪微博的相关数据
新浪微波早已称为我每天都会登陆上去刷新一下消息的APP,除了看看比较好玩的东西,还会看看好友在更新些在朋友圈看不到的东西,今天,就试着写爬虫爬取些微博的相关数据,比如微博正文、点赞数、评论数、转发数等等,最后把这些数据保存在mongodb数据库中。 一、分析 以女友的微博主页为例,在实际操作中发现,在开发者模式的Network选项卡下,查看第一个请求的Resp...原创 2018-04-30 23:33:27 · 969 阅读 · 0 评论 -
N0.20——关于Appium自动化测试——获取appPackage和appActivity两个参数
appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的。如何快速获得这两个参数,这里介绍一种比较方便的方法: 1、首先确保手机打开开发者调试模式,与电脑相连,命令行下输入 adb devices进行测试。 2、在手机端打开需要测试的APP,比如打开抖音。 3、命令...原创 2018-07-10 09:47:54 · 690 阅读 · 0 评论 -
NO.21——Mitmproxy抓包分析
现存很多抓包工具,如电脑端的fiddler、wireshark,移动端的charles和本节将要介绍的Mitmproxy。Mitmproxy功能强大,证书安装方便,使用简单。支持SSL的HTTP中间人代理工具,它允许你检查HTTP和HTTPS流量并支持直接改写请求。 安装1、包管理工具 PIP安装// 获取Python的版本号$ python -V// ...原创 2018-08-05 11:15:13 · 1663 阅读 · 0 评论 -
NO.22——用adb实现python机器人帮你找到抖音上的漂亮小姐姐
身边人不断被抖音神曲洗脑,并且深夜狂刷小视频的同僚大有人在,不甘落伍,本人也下载下来一探究竟,果然满屏的漂亮小姐姐。但是自己动手一遍一遍下划实在费劲,结合github上的项目,心想是否可以用Python实现一个douyin_bot帮我完成这些事情,比如关注、点赞、下载小视频。 目录 需求分析 工作原理...原创 2018-08-06 00:30:09 · 3910 阅读 · 0 评论 -
NO.31——Python爬虫分析马蜂窝十一假期城市旅游数据
十一假期开始,打开朋友圈,看到小伙伴们纷纷晒出了自己的车票,不是出去玩就是回家。因为不可抗拒的因素,可怜的我只能坚守工作岗位,哪都去不了,心急难耐之余,虽然自己去不了,那就看看全国各地的广大旅友都喜欢去什么地方吧。 这里,数据来源是马蜂窝http://www.mafengwo.cn/。首先,马蜂窝对爬虫相对友好,另外,使用马蜂窝也是我和女友出游的习惯,在计划去某地前都...原创 2018-10-03 19:46:36 · 3142 阅读 · 11 评论 -
N0.32——应用Redis搭建爬虫的代理池
在做爬虫时,如果遇到反爬措施比较严格的网站,会遇到IP被封禁的问题,使用代理可以有效解决这个问题。这样,我们可以花钱在网上购买一些优质代理,同样,还可以在网上爬取一些免费的代理。不管是付费的还是免费的,同一个代理可能有多个人同时使用,所以不能保证每个代理都是有效的,基于此目的,我们可以维护一个维护一个代理池,提前把可用代理筛选出来,同时把不可用代理剔除掉,将可用代理保留下来。...原创 2018-10-12 23:59:55 · 2601 阅读 · 0 评论 -
NO.33——XPath选择器爬取糗事百科段子
对应接口是https://www.qiushibaike.com。这个爬虫比较简单,简单分析下网页构成: 代码实战:# -*- coding:utf-8 -*-import urllibimport requestsimport reimport chardetfrom lxml import etreepage = 2url = 'http...原创 2018-10-14 09:15:45 · 365 阅读 · 0 评论 -
NO.34——多线程爬虫实战
以糗事百科为例,参考上一个单进程项目python多线程的基础知识Queue是python中的标准库,可以直接import Queue引用,这里要注意,Python2要从Queue引入,Python要从queue引入。;队列是线程间最常用的交换数据的形式对于资源,加锁是个重要的环节,避免多个线程同时调用一个资源,产生意想不到的后果。因为python原生的list,dict等,都是not ...原创 2018-10-14 09:51:05 · 289 阅读 · 0 评论 -
NO.35——qq音乐全站分布式爬虫(一)
一、目的 qq音乐提供免费在线试听,但是下载需要付费,通过开发爬虫,绕过付费环节,直接下载我们需要的歌曲。二、方法 爬取对象是web端qq音乐,爬取范围是全站的歌曲信息,爬取方式是在歌手列表下获取每一位歌手的全部歌曲。由于爬取量过大,采用异步编程的方式实现分布式爬虫开发,提高爬虫效率。 整个爬虫项目按功能分为爬虫规则和数据入库。 ...原创 2018-10-28 19:51:11 · 1457 阅读 · 0 评论 -
NO.36——qq音乐全站分布式爬虫(二)
三、数据存储 在爬虫逻辑功能实现的过程中发现数据入库的函数 insert_data(),该函数存放在music_db.py中,本节使用SQLAlchemy实现数据入库。 从爬虫规则分析,入库的数据有歌名、所属专辑、时长、歌曲mid(下载歌曲文件以歌曲mid命名)和歌手姓名。根据所爬取的数据及性质,数据库命名如下:songsong_id :int(1...原创 2018-12-07 22:52:20 · 507 阅读 · 0 评论 -
NO.44-----QQ音乐全站爬虫
一、目的 qq音乐提供免费在线试听,但是下载需要付费,通过开发爬虫,绕过付费环节,直接下载我们需要的歌曲。二、方法 爬取对象是web端qq音乐,爬取范围是全站的歌曲信息,爬取方式是在歌手列表下获取每一位歌手的全部歌曲。 整个爬虫项目按功能分为爬虫规则和数据入库。 爬虫规则: 在歌手列表https://y.qq.com...原创 2019-02-15 18:53:26 · 2078 阅读 · 1 评论 -
NO.45------QQ音乐分布式爬虫
在上一篇文章中https://blog.csdn.net/ghl1390490928/article/details/87378437对QQ音乐爬虫的逻辑进行分析,是用单线程单进程写的,这里对此进行改进,因为要对全网的歌曲进行爬取,所以为提高效率,设计成分布式爬虫。Pathon标准库为我们提供了threading和multiprossing来实现多线程,自从Python3...原创 2019-02-15 19:38:56 · 475 阅读 · 2 评论 -
NO.43------QQ音乐爬虫
写在前面 之前写过QQ音乐的爬虫,但是近期再次运行,发现已经失效,经分析,是之前的音乐接口已经失效,因此重新操刀,决心与QQ音乐斗智斗勇到底,其实这也是作为程序猿的乐趣嘛。分析网页a.音乐播放接口 依然是谷歌浏览器打开qq音乐,可以尝试搜索神曲“卡路里”: 开发者模式下截获各个请求,这里教大家一个技巧,查找Sta...原创 2019-02-13 20:01:14 · 3052 阅读 · 5 评论 -
NO.19——使用python PIL 库制作微信朋友圈九宫格图片
教大家发高逼格的朋友圈。安装库:Python 3PIL: pip3 install pillow举例:对不规则图形,先填充白边成为正方形,再进行切分。原图:九宫格切图后:基本原理:代码:# -*- coding: utf-8 -*-'''将一张图片填充为正方形后切为9张图'''from PIL import Image#将图片填充为正方形def fill_image(...原创 2018-07-09 13:56:49 · 754 阅读 · 2 评论 -
N0.18——Scrapy框架对接Selenium实现淘宝商品的爬取功能
在之前写的NO.8文章中介绍了应用Selenium模拟浏览器的操作实现抓取JavaScript动态渲染的页面,俗称可见及可爬。最近在研究Scrapy框架,因此尝试Scrapy框架对接Selenium实现淘宝的爬取功能。 一、分析网页在Elements选项卡下查看网页源码,通过页码输入框切换页码:点击确定按钮进行提交:查看第一页内容:单个商品概览...原创 2018-06-17 22:58:12 · 1786 阅读 · 0 评论 -
NO.17——应用Scrapy框架实现美女图片的打包下载
一、基础知识 Scrapy是基于Twisted的异步处理框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。各模块之间耦合性第,可扩展性强,定制开发几个模块既可以实现一个爬虫。Scrapy框架如图: 包括如下几部分:...原创 2018-06-16 13:54:27 · 445 阅读 · 0 评论 -
NO.7——分析Ajax请求实现图片的打包下载
看到网上琳琅满目的各种美美的照片,你是否想过把它们打包下载呢?今天就试着写个爬虫完成这个骚操作,其实之前就看到由很多前辈写爬虫爬取各种美女啦帅哥啦的图片,由于昨天刚去看了漫展,漫展上的小姐姐着实吸引眼球,今天就试着爬取COSER小姐姐的照片吧。 以今日头条为例,首页为http://www.toutiao.com。直接在搜索框里搜索coser,打开开发者模式,查看第一个请求,...原创 2018-05-01 13:36:12 · 1295 阅读 · 0 评论 -
NO.2 ———书写小爬虫通过正则表达式爬取电影排行榜文字信息
闲暇时光酷爱和女友一起看电影,在观看前往往会先关注下豆瓣上的评分,以及通过猫眼的渠道去购票,鉴于本人初学爬虫,对于爬取生活中常用的两个网站的信息很感兴趣,那么现在就信息爬取的一些经历做分享。 一、分析 首先我要爬取的是豆瓣电影排行榜TOP.250的信息,网址是https://movie.douban.com/top250点击打开链接 这是首页,共包含25个电...原创 2018-04-25 22:00:29 · 682 阅读 · 0 评论 -
NO.10——mysql数据库的基本操作
1、连接mysql mysql -u root -p2、新建数据库 create database weixin ;3、删除数据库drop database weixin;4、显示已建立的数据库 show databases;5、在weixin数据库下新建数据表use weixin #将代码环境转换到weixin数据库下#建立名为`articles`的数据表CREAT...原创 2018-05-18 00:09:20 · 149 阅读 · 0 评论 -
N0.8——应用pyquery和Selenium爬取淘宝商品信息
以Chrome为例,在应用Selenium之前,要确保Chrome浏览器配置好了ChromeDriver,另外还要安装Python的Selenium库。 基于JavaScript动态渲染的页面不止Ajax一种,如淘宝的页面,图形是经过JavaScript计算后生成,即使是Ajax获取的数据,其Ajax接口含有很多加密参数,很难找到规律,很难直接通过分析Ajax来抓取。 如...原创 2018-05-06 16:13:48 · 282 阅读 · 0 评论 -
NO.11——pyquery的基本操作知识
a = '''<title>标题</title><body> <ul class='list1'> <li>列表1第1项</li> <li>列表1第2项</li> </ul> <p cla原创 2018-05-19 00:22:21 · 167 阅读 · 0 评论 -
N0.4——用pyquery解析库爬取知乎explore页面
首先分析知乎页面: 在Chrome检查模式下,Network选项卡中并未收到任何response。可见知乎的网页源码存放在Elements选项卡下。然后查看“今日最热”里的内容,发现子内容都保存在class属性为“explore-feed feed-item”的div标签中,任意打开其中一个子内容发现: 问题question存放在class="question-...原创 2018-04-29 12:39:28 · 761 阅读 · 0 评论 -
N0.12——使用charles手机抓包
在这里总结一下使用charles抓包时出现的坑:1、软件安装 本人直接在官网下载,看网上很多人提供了破解版的教程,正版可以免费使用30min,我觉得已经够用。2、证书安装 首先给此电脑安装证书,然后在使用该证书时选择始终信任。 然后给手机安装证书。首先将手机和电脑配置在同一局域网下,终端输入 : ifconfig 查看本机ip地址...原创 2018-05-21 15:27:00 · 2268 阅读 · 0 评论 -
N0.13——mac配置JAVA开发环境
1、安装JDK 在oracle官网可以下载最新的JDK版本 终端输入:/usr/libexec/java_home -V 可以查看java的安装路径2、配置环境变量(1)查看系统使用何种shell命令,输入echo $SHELL 。输出为bash,则为Bourne shell命令,可以通过编辑profile配置环境变量。(2)终端输入:sudo vim /etc/pro...原创 2018-05-22 09:22:11 · 169 阅读 · 0 评论 -
NO.9——记录下mac操作系统重置mysql时遇到的坑
正常在mac下安装mysql采用brew命令会非常方便,一个 brew install mysql就可以搞定。但是这里有一个坑,系统会给初始用户'root'随机设置一个密码,这个密码又臭又长,我们在安装的时候往往没有注意到,就掉进了坑里。 查阅网上资料,很多人说要在系统偏好设置里停止mysql的服务,但我在设置里愣是没有找到这个选项,只能采用命令行的形式。 ...原创 2018-05-16 20:21:08 · 140 阅读 · 0 评论 -
NO.15——使用Appium自动化测试爬取微信朋友圈数据
一、解析过程本人使用锤子手机做测试,型号是YQ601,首先打开开发者模式确保手机能与mac相连,打开Appium客户端,配置参数如图可以理解为Appuim继承自web端的selenium,同样可以执行一些自动化操作。Appium自带了一个XPATH选择器,给用户提供了选择结果,如图这个选择器给出的结果太繁琐,所以可以改成通过查找ID的方式来构造爬虫程序。但是这里要注意,估计微信提升了自己...原创 2018-06-04 16:24:47 · 9780 阅读 · 14 评论 -
N0.14——Appium环境配置问题
本人在mac环境下应用Appium完成android自动测试。1、安装JAVA以及Android Stidio配置环境变量如图:/Users/Macx/Library/Android/sdk/android-sdk-macosx是本人安装SDK的路径这里主要把tools文件夹和platform-tools文件夹添加到环境变量里2、手机打开设置——关于手机——版本号,多次点击直至出现开发者模式,打开...原创 2018-05-30 14:49:58 · 479 阅读 · 0 评论 -
NO.16——Pathon爬取杨超越新浪微博数据做词云分析
看到网上充斥着很多词云分析的资料,今天心血来潮,也尝试下词云分析。最近热火的《创造101》,杨超越小姐姐一直在风口浪尖,因此这里借用小姐姐的微博数据做分析。一、准备工具 作词云分析主要用到两个工具: jieba,俗称结巴,中文分词工具;wordcloud,词云生成工具。可以先用pip安装这两个库。二、分析 首先打开移动端 https://m.weibo.cn/s...原创 2018-06-08 00:37:22 · 3341 阅读 · 6 评论 -
NO.54——基于scrapy的P站爬虫
很久没有更新博客了,这段时间其实也做了不少东西,但总是懒得坐下来整理下学习笔记,今天终于努力说服自己。做了那么多东西到底改写什么呢?自从接触python以来首先接触的就是爬虫,之前也写过许多关于爬虫的博客,但是其中最负盛名的基于scrapy的爬虫框架还没有写过,于是乎就以这为出发点吧。另外,在github上研究过某大神基于scrapy的爬虫(github地址我已经找不到了,不过那个...原创 2020-01-31 15:37:31 · 54855 阅读 · 1 评论