一起学爬虫(Python) — 25 震惊!某妈妈竟被多次“玩弄”……

一起学爬虫(Python) — 21 蝉妈妈,嘿嘿 一起学爬虫(Python) — 19 年轻人,进来学自动化 这里呢,还是宣传一下这个跟自动调试有关系的一篇博客,为什么呢,因为她能帮你们自动给我的博客点赞!!! 诶嘿嘿,各位一定不会想白嫖吧。 蝉妈妈,嘿嘿前言蝉妈妈何为蝉妈妈今天的目标了解一下cookies了解一下蝉妈妈开冲全部代码结尾 前言 经过两到三天的咕咕咕,小泽发现这个浏览量是蹭蹭蹭的往上涨,顿时变得无比纳闷,为什么我不勤奋更新了反而看的人变多了呢… 难道… 这是大家在用事实告诉我,更新是错误的,咕咕咕才是我应该做的吗! 带师,我悟了。 当然, 阅读详情

年度催泪大剧:2020,我一定会回来的!

年度最佳拒绝白嫖奖:一起学爬虫(Python) — 19 年轻人,进来学自动化

略显夸张,略显。

但是还是希望,也不是希望吧,是卑微地渴望各位姥爷,给个赞吧T-T

在这里插入图片描述

前言

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

在这里插入图片描述

在这里插入图片描述

我被绑架了,竟然三天没有更新,这个…

对,就理解为我被绑架了吧!

最近不是有那个年度征文嘛,然后我就参加了一下,毕竟……

高情商:你写的那么好,一下就吸引了一堆小学生来看,一定能获取评委的认可的!

低情商:就你还参加个xx

在这里插入图片描述
所以希望各位能高抬贵手,让我输得不要太惨,拜托啦~~

在这里插入图片描述
就亿次!!!

点这里:2020,我一定会回来的!

那么…点赞的事情,就拜托了,轻一点哦~

自动化获取cookies

前景回顾:蝉妈妈,嘿嘿

至于为什么要用自动化,这里我们选择selenium。不过想要实现自动化操作有很多种方法,而且最近不是新出了一个更方便的嘛,我没记名字,你打我啊。

不过这里我们先用selenium对整体的思路进行一个理解,日后再进行新的方式的传销 传播。

我们上次爬取蝉妈妈的商品信息的时候,是分了两大步。

第一步是获取了登陆后的cookie。

第二步是用带有登录后cookie的headers进行一个post请求,然后获取了那些我们需要的,也可以是不需要的,但是这里假装我们是需要的,的数据。

在这里插入图片描述
那么我们进行模拟登陆的这个操作,就是最难的了吧,相对来说嘛。

如果你要说处理那些数据是更难的操作的话…那就听你的吧,不过处理数据的方法是可以一直用的嘛,但是不同的网站就有不同的登录方式,是多变的,所以相对来说还是我说的比较对,你要听话。

在这里插入图片描述
从上一次的结果来看,大致可以推断出,我们只要获得登陆后的cookies,就不用进行账号密码的输入了,就是可以直接绕过登录了,也就避开了验证码这一个超级烦人的环节。

那就来让我们偷偷地潜入…

获取cookies!

这一呢,我们是用selenium进行一个cookies的获取。

这里为什么说是cookies,而前面是cookie呢?

因为cookie是有很多的,可以理解为合起来就是一个字典!

cookies里面放的是一条一条的cookie,有的有用,有的只是说明一下ip鸭,时间鸭什么的,是属于可有可无的。

可以选择全都放进去,也可以选择细一点,只放我们需要的!

在这里插入图片描述
这里我们先用selenium进行一个模拟的登录~

# 导入sleep是为了等待一下,确保网页可以加载完,避免出现还没加载出来程序就走完了的情况
from selenium import webdriver
from time import sleep

导入这些呢,就不多说了,关于等待其实也是有三种等待的,如果想要详细了解可以到 一起学爬虫(Python) — 22 自动化详解 了解一哈~

如果你让我推荐一个的话,做大项目肯定是要显式等待,随便玩玩的话sleep就够用了。

# 初始化driver对象
driver = webdriver.Chrome(executable_path='./chromedriver.exe')
# 打开指定页面
driver.get('https://www.chanmama.com/login')

这里有的人可能会先打开https://www.chanmama.com/然后点击里面的登录按钮,其实没必要哦,直接放登录界面的url进去就好了。

如果初始化那里错了,可能就是你的浏览器引擎版本不对,或者路径不对。

# 这里也可以注释掉,在下面的send_keys里面手动写上自己的账号密码
tmf = input('请输入你的手机号:')
password = input('请输入你的密码:')

# 等待1秒,万一下面的东西没加载出来就会报错了
sleep(1)

# tmf就是手机号的缩写,不要问我怎么知道的,我刚百度来的!
# 至于xpath里面的东
一起学爬虫(Python) — 03 今天要爬我们想要的东西爬─=≡Σ(((つ•̀ω•́)つ抢银行o(▼皿▼メ;)o怎么抢∑(´△`)?!总结 爬─=≡Σ(((つ•̀ω•́)つ 先表示一下我很开心啊,为什么开心呢,因为有几个小伙伴给咱留言了,哈哈哈。 还是蛮有成就感的,在这里点名几位小伙伴,谢谢你们对我的支持哦~ 当然也会听取各位的建议,少用点表情包,多一点有用的东西! 昨天我们学会了把一整个网页给爬下来,但是这还只是最基础的东西。 举个例子:我们去抢劫的话,是不是要抢到钱才肯罢休啊,同样的我们去爬东西肯定要爬到有用的才肯罢休嘛,但是有的人 阅读详情

相关推荐

Python爬虫实战:百度贴吧—妈妈吧

上次,我们用requests 和 xpath爬取了极客学院的课程,感觉还是不过瘾,今天我们再来爬一下百度贴吧妈妈吧里面的话题,看看妈妈们都喜欢讨论什么吧! 爬取前我们先看一下我们的目标: 1.抓取百度贴吧妈妈吧的话题 2.抓取每一个话题的发布人、发布时间、发布标题、发布内容和回贴数目 1.确定URL 1.确定URL 1.确

flyingfishmark的博客 2125

python爬虫100个入门项目

断点续爬并存入MySQL 秒爬,python爬虫中的多线程,多进程,协程 抓取百度图片唯美意境模块 抓取百度贴吧某话题下的所有图片 淘宝模拟登录 天猫商品数据爬虫 爬取淘宝我已购买的宝贝数据 每天不同时间段通过微信发消息提醒女友 爬取5K分辨率超清唯美壁纸 爬取豆瓣排行榜电影数据(含GUI界面版) 多线程+代理池爬取天天基金网、股票数据(无需使用爬虫框架) 一键生成微信个人专属数据报告(了解你的微信社交历史) 一键生成QQ个人历史报告 微信公众号文章爬虫 新浪微博爬虫分享(一天可

daijunxia123的博客 3945

Python 爬虫实战:于妈妈网抓取育儿经验分享热度,解决育儿难题

通过本次 Python 爬虫实战,我们成功抓取了妈妈网育儿经验分享热度数据,并进行了数据分析和可视化。基于分析结果,为新手妈妈们提供了有价值的建议,帮助她们解决育儿难题。

u014481728的博客 794

Python爬虫-蝉妈妈热门视频榜单

本文是该专栏的第38篇,后面会持续分享python爬虫干货知识,记得关注。数据需要账号登录才能正常看到,day_type:目测是榜单类型,day表示按天为基数的榜单,week表示按周为基数的榜单。day:目测是时间,这种类型的榜单当天的数据可能明天才会更新,所以最新数据可能为昨天。通过禅妈妈查看视频榜单数据的前提,首先需要账号登录才能正常看到榜单数据,到这里,基本上思路都通了

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 2403

统计学工具软件hlm6.08

This is the release edition of HLM 6.

Java 开发 修改【冒险岛 079 私服】完整学习流程

第 1-2 天:环境搭建 + 运行原版 079 服务端,能正常登录游戏;第 3-4 天:纯配置文件修改,掌握倍率、属性、怪物、道具的修改,改出第一个「百倍经验私服」;第 5-10 天:Java 代码基础修改,掌握 Player/Skill/Monster 核心类的修改,实现技能无冷却、一刀秒怪、升级满属性;第 11-20 天:Java 代码进阶修改,掌握业务逻辑修改,实现死亡不掉经验、自动捡物、装备强化无失败;第 21-30 天。

萧曳丶 3897

用宝塔面板+CentOS 7.6,30分钟搞定DNF手游私服搭建(附全套资源下载)

本文详细介绍了如何使用宝塔面板和CentOS 7.6在30分钟内快速搭建DNF手游私服。通过图形化界面操作,无需复杂命令,即可完成服务端部署、MySQL数据库配置及客户端适配,适合Linux新手快速上手。

weixin_33737774的博客 607

别再手动挂载NPU了!手把手教你用Ascend-Docker-Runtime一键启动昇腾AI容器

本文详细介绍了如何使用Ascend-Docker-Runtime一键启动昇腾AI容器,大幅简化NPU设备挂载流程。通过环境变量ASCEND_VISIBLE_DEVICES,开发者可以灵活指定NPU设备,提升开发效率。文章还提供了安装配置指南、高级使用技巧和常见问题排查方法,帮助开发者快速掌握这一高效工具。

weixin_42662605的博客 253

机器学习第五章之决策树模型

机器学习专题系列

wangyutao12345的博客 5187

从数字后端角度谈谈occ电路(二)

从图中,我们可以清晰的看出,当scan_en为1时,test mode为1时,经过一系列逻辑单元后,得到clk_sel输出信号为1,同样可推算fast_clk_en = 0,slow_clk_en为1,此时clk_out输出为slow clk,符合我们预期。在该模式下,是使用slow clock进行scan shift,接着我们开始进行推导;从图中,我们根据逻辑运算可以看出,clk_sel输出信号为0,fast clk en为1,此时通过mux选择,clk out即为fast clk;

芯冰乐 360

如何用DeepSeek写年底工作总结?——从入门到精通的全流程指南

AI助手DeepSeek如何高效撰写工作总结 摘要:本文介绍如何利用DeepSeek智能AI助手高效完成工作总结写作。工作总结具有结构固定、语言规范、内容数据化三大特性,而DeepSeek的结构化生成、风格适配、数据整合和迭代优化四大核心能力与之完美匹配。文章提出"准备-搭架-填充-优化"四步工作法:1)精准输入岗位、时间范围等核心信息;2)先搭建逻辑清晰的提纲框架;3)分模块填充具体内容,突出数据与案例;4)通过风格润色和细节补充进行优化。通过合理运用多模态材料处理能力,DeepSee

通俗易懂学IT 288

Holosoma 开源人形机器人强化学习训练部署框架

Holosoma是一个综合性人形机器人框架,支持强化学习策略的训练、部署和动作重定位。该框架兼容多种模拟器(IsaacGym、IsaacSim、MuJoCo等)和机器人(Unitree G1、Booster T1),提供运动控制和全身追踪功能。主要特性包括:跨模拟器训练评估、Wandb集成、多GPU支持、自定义奖励权重和观测噪声配置。推理模块支持实体机器人部署和MuJoCo仿真测试。动作重定位工具可将人体动作数据转换为机器人动作,支持单序列和批量处理。文档详细介绍了训练配置、评估方法和高级功能,如课程学习和

2506_90492529的博客 1829

对接金蝶云星空调用即时库存信息查询API(附JAVA实现)

这篇文章教你如何对接金蝶API并且使用JAVA调用金蝶云星空的即时库存查询API

实用的博客 2609

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 一起学爬虫(Python) — 24 自动化详解3
下一篇: Python写游戏,我上我也行 - Flappy Bird 01
「已注销」
博客等级 码龄6年 1406粉丝 35原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值