自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 进阶的阿牛哥之报错集

一、SyntaxError: Non-UTF-8 code starting with ‘\xe5’ in file C:\Users\01\Desktop\111.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details如下图:解决办法:

2021-07-21 20:43:16 200

原创 补充:selenium操作已打开的浏览器窗口

然后输入:chrome.exe --remote-debugging-port=9527 --user-data-dir=“F:\selenium\AutomationProfile” ,并回车。user-data-dirr=“F:\selenium\AutomationProfile” 是在单独的配置文件中启动 chrome浏览器,可以理解为 新的浏览器,记得创建对应文件夹哦;特别的:也可以是手动在浏览器中操作至我们待爬取的目标页面后,再程序控制进行循环爬取或输入。其中 9527 为端口号,可自行指定。

2022-11-08 11:49:06 6065 2

原创 爬虫笔记42之反爬系列五:JS补充(steam平台js算法逆向)

steam平台js算法逆向1 通过Network 我们发现了2个数据接口 getrsakey dologin在dologin 密码是做了加密处理​2 通过搜索关键字password 然后我们确定了一个数据接口 login.js…继续去它的源码当中搜索关键字 password 。然后逐个分析 var encryptedPassword = RSA.encrypt(password, pubKey); 它比较可以​3 通过断点调试的方式 我们分析到了 它的第一个参数就是传递的我们明文的密码 第二

2022-01-01 14:36:47 1450

原创 进阶的阿牛哥之用python向多人发送邮件(带附件)、遍历邮件获取内容(两种方法:imbox、imaplib)

一、使用的库这个程序涉及两个库:smtplib 和 email这两个库都是Python自带的,所以不需要额外的下载安装。二、思路和步骤总体思路很简单,就像我们平常上网是通过HTTP协议一样,我们发送邮件是通过SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)来传输的,而现在我们需要做的就是:(1)开启邮箱 SMTP 服务:以 QQ 邮箱为例,开启 SMTP 的路径是:邮箱首页 → 设置 → 账户 → POP3/IMAP/SMTP/Exchange/CardD

2021-10-29 14:12:49 7628

原创 爬虫笔记41之反爬系列四:字体反爬、JS反爬

1

2021-10-25 06:54:51 873

原创 爬虫笔记40之反爬系列三:复杂验证码的处理(12306图片验证码、行为验证:selenium鼠标行为链 + 算法)

一、12306图片验证码

2021-10-11 22:36:55 858

原创 爬虫笔记39之反爬系列二:图形验证码(tesseract、超级鹰打码平台)、超级鹰打码平台在12306中的使用

在爬虫中图形验证码的解决方式有哪些?1、 可以通过算法 以及深度学习2 、selenium来解决3 、打码平台(付费)4 、tesseract(即: 光学文字识别库,免费的、开源的)一、tesseract1、 安装1.1 需要把安装的路径(D:\Program Files\Tesseract-OCR)添加到path环境变量里1.2 需要把训练数据添加到用户变量中:变量:TESSDATA_PREFIX值:D:\Program Files\Tesseract-OCR\tessdata如下图

2021-10-10 13:24:23 779

原创 爬虫笔记38之反爬系列一:ip反爬、

1、遇到的问题:使用爬虫在爬取数据的时候,如果爬取的频率过快,或者是一些其它的原因,被对方网站识别出来是爬虫程序,这个时候我们的IP就会被面临封杀的危险,一旦IP被封了之后,我们的爬虫程序就无法去爬取该网站资源了。​2、如何解决?使用代理IP免费的ip网站 :推荐豌豆代理 ,每天20个免费的(但不一定都能用)​3、关于2个ip的说明(1)内网ip:即我们在cmd里输入ipconfig 得到:(2)外网ip:我们可以在网站http://httpbin.org/ip查看到:4、我们所说的是外

2021-10-10 11:37:09 1919 1

原创 爬虫笔记37:android控件ListView的讲解、fiddler的安装与使用、fiddler和模拟器的配合使用、案例(爬取豆果美食app)

一、android控件ListView的讲解(了解即可)ListView的用处:可以用来开发app环境:1 、安装jdk :就可以使用java这门语言进行开发了。安装过程中提示jre是否要安装,不用安装:因为jdk里包含了jre。2 、安装android studio (ec),需要专门单独学习这个开发工具的使用。(就是用这个开发app)二、fiddler的安装与使用1、fiddler是什么?是一个HTTP协议调试代理工具,简单来说就是一个抓包工具。​2、fiddler的优势(1) 简单

2021-10-07 14:26:37 1170

原创 爬虫笔记36:移动端前导知识、adb和u2的基本操作

一、移动端数据简介1、移动端爬取数据的背景随机互联网的发展,数据不仅仅只是存在于PC端。移动端的数据在这几年的占比以及势头发展趋势呈现几何倍数的增长。对于做数据分析、用户画像、市场调研来说仅仅参考PC端的数据是远远不够的。那么于此同时移动的数据就显得尤为的重要2、获取移动端数据的作用?● 数据分析● 用户画像● 商业竞争● 统计系统3、UIAutomator的介绍UIAutomator是google提供的用来做安卓自动化测试的一个java库。UIAutomator的缺陷● 测试脚本只能

2021-10-07 00:05:43 467

原创 爬虫笔记35:python和mongodb的交互、用类的方法(即面向对象)实现增删改查、案例(将爬虫数据保存到mongodb数据库)

一、安装

2021-10-05 14:24:41 158

原创 爬虫笔记34:mongodb的概述(安装和启动)、基本命令、练习题

w

2021-10-04 11:31:29 136

原创 爬虫笔记33补:scrapy_redis案例之爬取 盗墓笔记(改写成scrapy_redis爬虫)

1

2021-10-04 11:22:40 110

原创 爬虫笔记32:scrapy_redis案例之爬取 当当网(改写成scrapy_redis爬虫)

一、改写程序(一)在爬虫文件中:第1步:导入模块from scrapy_redis.spiders import RedisSpider 第2步:修改继承的父类将class DangdangSpider(scrapy.Spider):改成:class DangdangSpider(RedisSpider):第3步: 把start_urls 整行删掉,写成 reids_key=‘爬虫文件名字’ #start_urls = ['http://book.dangdang.com/']

2021-10-02 19:35:37 395

原创 爬虫笔记31:scrapy_redis案例之爬取 当当网(普通的scrapy爬虫)

一、scrapy_redis案例之爬取 当当网整体思路:先实现普通的scrapy爬虫,然后在改写成scrapy_redis普通的scrapy爬虫:(一)需求:获取特色书单中所有图书的书名和封面,如下图:(二)页面分析:1、右键查看网页源代码,发现数据就在源代码中,不是js。2、爬虫文件的实现:...

2021-10-02 11:40:31 1066

原创 爬虫笔记30:python操作redis、scrapy_redis概述、scrapy_redis工作流程、如何实现分布式爬虫(步骤)

:1

2021-10-01 15:39:04 409

原创 爬虫笔记29:redis概述、redis的五大命令

1、 redis是什么?redis 是一个高性能的,开源的 、C语言开发的,键值对存储数据的NoSql数据库。MySql数据库:关系型数据库存放持久化的数据存在大量的I/O操作Redis数据库:nosql 是非关系数据库缓存数据库读取速度比较快2、redis的特性速度快、支持数据库的持久化、支持的数据类型比较多 (5大数据类型)3、redis的应用场景数据变化比较快的、不太重要的、比如:点赞、QQ消息列表/直播平台人数列表、秒杀...

2021-09-22 21:15:15 120

原创 进阶的阿牛哥之给数据添加趋势线

'''Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。scipy.optimize中有curve_fit方法可以拟合自定义的曲线,如指数函数拟合,幂指函数拟合和多项式拟合,下面导入相应的包进行拟合的一个小例子:'''from scipy.optimize import curve_fitimport matplotlib.pyplot

2021-08-23 17:16:21 261

原创 进阶的阿牛哥之selenium截屏

# coding=utf-8import timefrom selenium import webdriver driver = webdriver.Chrome(r'C:\Users\01\Desktop\chromedriver.exe')driver.maximize_window()driver.get("https://www.baidu.com")time.sleep(1) driver.get_screenshot_as_file(r'C:\Users\01\Deskt

2021-07-27 09:43:14 101

原创 进阶的阿牛哥之Selenium----switch_to.alert浏览器自带弹框处理

alert 实际上也是Selenium的一个模块,要使用该模块首先得引入from selenium.webdriver.common.alert import Alert点击确认按钮:driver.switch_to.alert.accept()点击取消按钮:driver.switch_to.alert.dismiss()如果alert弹框上有文本框,可以输入文字driver.switch_to.alert.sendkeys()返回alert上的文本内容text = driver.switch

2021-07-20 16:12:18 966

原创 进阶的阿牛哥之pandas透视表pivot_table的使用

1、原数据data的呈现形式是:多列,无行索引;一个一个标的平铺而成。2、数据透视后,方便计算所有标的某个值的变化,示例中是收盘价close。代码全文:from atrader import *import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport mathimport statsmodels.api as smimport datetime as dtimport scipy.stats a.

2021-07-19 15:56:06 283

原创 爬虫笔记28:crawlspider的使用、scrapy模拟登陆

一、crawlspider的使用crawlspider是scrpay另一种爬取数据的方式,它继承于spider这个爬虫类。它的特点:自动根据规则提取链接发送给引擎。1、如何创建crawlspiderscrapy genspider -t crawl xx xx.com(-t表示是什么模式;crawl表示具体模式)2、案例:(以爬取古诗文网站为例)(1)scrapy startproject gsw(2)scrapy genspider -t crawl cgs gushiwen.org之后可

2021-07-11 17:19:48 703

原创 爬虫笔记27:scrapy shell交互端的使用、将公共变量放在settings文件中、middlewares下载中间件的使用、案例(爬取汽车之家)、使用scrapy内置的下载图片/文件的方法

一、scrapy shell交互端的使用scrapy shell是scrapy的一个交互终端,其作用是不用创建scrapy项目的情况下尝试以及调试代码 ,最常用的是调试xpath语句。使用方法:1、cmd命令行中输入: scrapy shell 网址2、输入:response.xpath(…)案例:...

2021-07-07 06:29:44 658 1

原创 爬虫笔记26:Scrapy案例-爬取腾讯招聘、scrapy.Request(url, meta, callback)中meta参数的作用

需求:爬取腾讯招聘岗位 、翻页https://careers.tencent.com/search.html?index=1如下:第一步 分析页面1、数据在哪里获取?我们在网页源代码中找下,是否有目标数据:显然原代码中并没有关于招聘岗位的信息,所以我们不能对该url(https://careers.tencent.com/search.html?index=1)发起并获得响应,再替换page的数字来翻页,进而完成任务。我们右键检查,在network-XHR中,可以发现下图右下角红框,点击看

2021-07-06 11:20:28 399

原创 爬虫笔记25补充:scrapy爬取古诗文网站(爬取原文和译文时,遇到‘展开阅读全文’的处理)

如图:kenne我们点击查看网页原代码,发现隐藏的数据并不在原代码中,我们点击检查

2021-07-04 18:15:12 966

原创 爬虫笔记25:piplines文件的使用、简单案例:scrapy爬取古诗文网站(scrapy中的常用翻页方法)、

一、piplines文件的使用1、 开启管道在settings.py文件中取消以下注释:ITEM_PIPELINES = {‘mySpider.pipelines.MyspiderPipeline’: 300,}​2 、回到爬虫文件当中,把数据yield 给管道。为什么是yield的原因:不会浪费内存翻页的逻辑 scrapy.Requst(url,callback,…) 通过yield来返回...

2021-06-19 17:56:35 605

原创 爬虫笔记24:Scrapy概述、Scrapy的工作流程、Scrapy快速入门、items.py文件的使用

一、Scrapy概述1、什么是?异步爬虫框架2、Scrapy它有什么优势?可配置和可扩展性非常高;Scrapy框架是基于Twisted异步网络框架:复杂 、闭包(更多参考http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html)二、Scrapy的工作流程红框中就是我们通常需要编写的。三、Scrapy快速入门目标url:https://www.douban.com/需求:爬取的内容 、标题。如下图:第一步 、创建s

2021-06-14 21:54:42 626

原创 爬虫笔记23:线程的创建、线程间的资源竞争、线程队列、案例应用对比(普通方式爬取小米应用信息、多线程爬取)

多进程是什么?进程:系统中正在运行的一个应用程序。它有什么特点?1个CPU核心职能执行1个进程,其它进程就处于阻塞状态 。多个CPU核心就可以同时执行N个任务。线程是什么?进程中包含的执行单元它有什么特点?1个进程可包含多个线程1次只能执行1个线程线程锁(资源竞争问题)有很多的场景中的事情是同时进行的,比如开车的时候 手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的(凡是程序一上线程,那么复杂度就提升了,出BUG的频率也就提升了)一、线程的创建,有2种方式:import thr

2021-06-07 00:22:36 145

原创 进阶的阿牛哥之如何存储每日数据到csv或txt文件(如何实现换行)

一、存储到CSVimport csv#构造带有表头的csv文件headers = ('time','yhbdl')day= [{'time':'20210603','yhbdl':'20.3'}, {'time':'20210604','yhbdl':'21.1'}]with open('sz50_yhbdl.csv','a',encoding='utf-8',newline='') as file_obj: Dwriter = csv.DictWriter(file_obj,h

2021-06-05 08:29:27 190

原创 爬虫笔记22:12306购票(input标签的type=‘‘hidden‘‘,而输入的值是以代号的形式确定、xpath过滤datatran属性的tr标签)

一、当输入框,也就是input标签的type=’‘hidden’’,而输入的值是以代号的形式确定的<input id="fromStation" type="hidden" value="BJP" name="leftTicketDTO.from_station">解决方法:(1)type=’‘hidden’’,用driver.execute_script(‘arguments[0].value="%s"’%from_station_code,from_station_input)解决

2021-06-02 23:38:27 1068 1

原创 爬虫笔记21:页面等待以及当按钮不能被点击时的处理、selenium操作多个窗口、12306扫码登录

一、页面等待为什么要等?(1)selenium比较慢 网站打开了 元素没有加载出来(2)现在的网页越来越多采用了 Ajax 技术,这样程序便不能确定何时某个元素完全加载出来了。如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接使用了这个WebElement,那么就会抛出NullPointer的异常。如何解决?(1) time.sleep(10) : Python提供的,import time,一定要等够10秒(2) selenium也提供了页面等待的方式: 隐式等待(impli

2021-06-01 11:56:30 814 1

原创 爬虫笔记20:鼠标行为链、selenium补充、设置浏览器无界面模式、爬取猫眼电影、爬取京东

一、鼠标行为链有时候在页面中的操作可能要有很多步,那么这时候可以使用鼠标行为链类ActionChains来完成。步骤:(1)from selenium.webdriver import ActionChains(2)actions = ActionChains(driver) #实例化(3)行为过程(4)actions.perform() #提交行为链需要注意的:1 、千万不要忘记提交鼠标行为链2 、需要注意鼠标行为链里面的点击操作行为举例:click_and_hold(elemen

2021-05-31 00:08:05 781 4

原创 爬虫笔记19:模拟登录jerry的QQ空间(selenium获取cookie的应用案例)、怎么保存cookie

一、模拟登录jerry的QQ空间使用一个第三方登录的链接:https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&app

2021-05-29 21:22:50 354

原创 爬虫笔记18:selenium的使用:定位元素、操作元素(下拉菜单)、模拟登陆豆瓣(当属性值有空格时怎么处理)、selenium获取cookie

•ajax可以使用网页实现异步更新,可以在不重新加载整个网页的情况下,对网页的某部分进行更新。获取ajax数据的方式:1.直接分析ajax调用的接口。然后通过代码请求这个接口。2.使用Selenium+chromedriver模拟浏览器行为获取数据。• selenium是一个web的自动化测试工具,最初是为网站自动化测试而开发的,selenium可以直接运行在浏览器上,它支持所有主流的浏览器,可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏• chromedriver是一个驱动Ch

2021-05-25 21:14:37 657 1

原创 爬虫笔记17:随机UserAgent的生成、phantomjs 快速入门、用requests与正则表达式爬取百度贴吧图片、安装selenium、chromedriver快速入门

一、随机UserAgent的生成1、安装:pip install fake_useragent2、代码:from fake_useragent import UserAgentua = UserAgent()#谷歌浏览器print(ua.chrome) #firefox 火狐浏览器结果:二、phantomjs 快速入门1、驱动配置:上图红框处的意思是:没有配置之前需要添加驱动的路径,也就是phantomjs.exe所在位置。解决方法1:将驱动文件

2021-05-24 17:09:45 354

原创 爬虫笔记16:bs4的应用---爬取天气

1

2021-05-15 21:48:50 85

原创 爬虫笔记15:bs4中的select()方法、修改文档树

一、select()方法我们可以通过css选择器的方式来提取数据。但是需要注意的是这里面需要我们掌握css语法。1、常用的几个查找方式:from bs4 import BeautifulSouphtml_doc = """<html><head><title>The Dormouse's story</title></head><body><p class="title"><b>The Dormo

2021-05-15 19:00:14 1369

原创 爬虫笔记14:bs4简介、bs4的快速入门、find()和find_all()方法

一、bs4简介1、基本概念Beautiful Soup 是一个可以从HTML或XML文件中提取数据的网页信息提取库。2、有什么作用?解析和提取网页中的数据3、有什么意义?随着网站的种类增多,去寻找最适合解决这个网站的技术。正则表达式有的时候不太好写,容易出错;xpath 记住一些语法://*[@id=“content”]/div[2]/div/div/p[2]/spanbs4的特点:只需要记住一些方法就可以了。二、bs4源码分析(github下载源码)源码当中有一些小图标:c :Cl

2021-05-15 12:58:35 6976 1

原创 爬虫笔记13:正则表达式的应用---爬取天气

需求:爬取7天的 天气情况 日期 天气状况温度 风力–> 保存到CSV目标url:http://www.weather.com.cn/weather/101250101.shtml解决方案:第一步 分析页面通过分析我们发现今天要爬取的数据都在 ul class=“t clearfix” 这个标签当中,然后我们再去网页的源代码中确定下<ul class="t clearfix"><li class="sky skyid lv3 on"><h1>28

2021-05-03 18:07:49 408

原创 爬虫笔记12:lxml模块和xpath语法、join()方法

一、基本概念• XPath(XML Path Language)是一种XML的查询语言,他能在XML树状结构中寻找节点。XPath 用于在 XML 文档中通过元素和属性进行导航• xml是一种标记语法的文本格式,xpath可以方便的定位xml中的元素和其中的属性值。lxml是python中的一个第三方模块,它包含了将html文本转成xml对象,和对对象执行xpath的功能结点的关系:xml_content = '''<bookstore><book> <t

2021-05-02 21:38:20 1400 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除