gecko

python接口自动化(十六)--参数关联接口后传(详解)

天大地大妈咪最大 提交于 2020-05-08 05:48:28
简介   大家对前边的自动化新建任务之后,接着对这个新建任务操作了解之后,希望带小伙伴进一步巩固胜利的果实,夯实基础。因此再在沙场实例演练一下博客园的相关接口。我们用自动化发随笔之后,要想接着对这篇随笔操作,不用说就需 要用参数关联了,发随笔之后会有一个随笔的 id,获取到这个 id,继续操作传这个随笔 id 就可以了(博客园的登录机制已经变了,不能用账号和密码登录了,这里用 cookie 登录) 大致流程步骤:web界面操作登录抓包查看cookie—>代码模拟cookie登录—>web界面操作新建随笔和保存随笔—>抓包查看新建随笔和保存随笔的url和参数等—>代码模拟新建随笔并保存编辑内容—>web界面操作删除随笔—>抓取删除操作请求—>提取参数—>传参—>代码实现。 一、删除随笔 1、我们前面讲过登录后新建随笔和保存随笔后,不记得可以点击 传送门 那可以继续接着操作:删除刚才新建的随笔 2、用fiddler抓包,抓到删除新建随笔的请求,从抓包结果可以看出,传的json参数是postId 3.这个postId哪里来的呢?可以看上个请求的url地址 4、也就是说保存草稿箱成功之后,重定向一个 url 地址,里面带有 postId 这个参数。那我们想办法将这个参数提取出来就可以了 二、提取参数 1、我们需要的参数 postId 是在保存成功后 url 地址,这时候从 url

PYTHON 爬虫笔记九:利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集(实战项目二)

六月ゝ 毕业季﹏ 提交于 2020-05-08 04:22:44
利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集 目标站点分析 今日头条这类的网站制作,从数据形式,CSS样式都是通过数据接口的样式来决定的,所以它的抓取方法和其他网页的抓取方法不太一样,对它的抓取需要抓取后台传来的JSON数据,   先来看一下今日头条的源码结构:我们抓取文章的标题,详情页的图片链接试一下: 看到上面的源码了吧,抓取下来没有用,那么我看下它的后台数据:‘ 所有的数据都在后台的JSON展示中,所以我们需要通过接口对数据进行抓取 提取网页JSON数据 执行函数结果,如果你想大量抓取记得开启多进程并且存入数据库: 看下结果: 总结一下:网上好多抓取今日头条的案例都是先抓去指定主页,获取文章的URL再通过详情页,接着在详情页上抓取,但是现在的今日头条的网站是这样的,在主页的接口数据中就带有详情页的数据,通过点击跳转携带数据的方式将数据传给详情页的页面模板,这样开发起来方便节省了不少时间并且减少代码量 流程框架 爬虫实战 spider详情页 import json import os from hashlib import md5 from json import JSONDecodeError import pymongo import re from urllib.parse import urlencode from

python爬虫成长之路(三):基础爬虫架构及爬取证券之星全站行情数据

别等时光非礼了梦想. 提交于 2020-05-08 04:20:54
爬虫成长之路(一)里我们介绍了如何爬取证券之星网站上所有A股数据,主要涉及网页获取和页面解析的知识。爬虫成长之路(二)里我们介绍了如何获取代理IP并验证,涉及了多线程编程和数据存储的知识。此次我们将在前两节的基础上,对证券之星全站的行情数据进行爬取。第一节的思路爬一个栏目的数据尚可,爬上百个栏目的数据工作量就有点大了。下面我们先介绍下基础的爬虫架构。 本文主要包含爬虫框架六大基础模块,分别为爬虫调度器、URL下载器、URL管理器、HTML下载器、HTML解析器、数据存储器。功能分析如下 爬虫调度器:主要负责统筹其他四个模块的工作。 URL下载器:主要负责下载需要爬取数据的URL链接。 URL管理器:负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。 HTML下载器:用于从URL管理器中获取未爬取的URL链接并下载HRML网页。 HTML解析器:用户从HTML下载器中获取已经下载的HTML网页,解析出有效数据交给数据存储器。 数据存储器:用于将HTML解析器解析出来的数据通过文件或者数据库的形式储存起来。 为了方便理解,以下是基础爬虫框架运行流程示意图 此处介绍文件夹,下面,我们对这6大模块进行详细的介绍。 一、URL下载器 URL下载器包含两步,首先下载网站左侧导航栏的URL,然后通过导航栏的URL获取每个子栏目包含的链接列表。

《Nginx

泄露秘密 提交于 2020-05-07 19:05:10
一:log_format    - 概述     - log_format 用于管理 Nginx 的详细信息,日志管理等信息,很多都是基于这个来实现。    - 可配置参数 $remote_addr           客户端地址 $remote_user         客户端用户名称 $time_local         访问时间和时区 $request           请求的URI和HTTP协议$http_host请求地址,即浏览器中你输入的地址(IP或域名) $statusHTTP         请求状态 $upstream_statusupstream   状态 $body_bytes_sent       发送给客户端文件内容大小 $http_refererurl       跳转来源 $http_user_agent         用户终端浏览器等信息 $ssl_protocolSSL        协议版本 $ssl_cipher           交换数据中的算法 $upstream_addr          后台upstream的地址,即真正提供服务的主机地址 $request_time          整个请求的总时间 $upstream_response_time    请求过程中,upstream响应时间 二:核心模块内置变量    -

04,Python网络爬虫之requests模块(1)

时光怂恿深爱的人放手 提交于 2020-05-07 18:30:47
引入 Requests 唯一的一个 非转基因 的 Python HTTP 库,人类可以安全享用。 警告 :非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。 今日概要 基于requests的get请求 基于requests模块的post请求 基于requests模块ajax的get请求 基于requests模块ajax的post请求 综合项目练习:爬取国家药品监督管理总局中基于中华人民共和国化妆品生产许可证相关数据 知识点回顾 常见的请求头 常见的相应头 https协议的加密方式 今日详情 - 基于如下5点展开requests模块的学习 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。 为什么要使用requests模块 因为在使用urllib模块的时候,会有诸多不便之处,总结如下: 手动处理url编码 手动处理post请求参数 处理cookie和代理操作繁琐 ...... 使用requests模块: 自动处理url编码 自动处理post请求参数 简化cookie和代理操作 ...... 如何使用requests模块 安装: pip install requests 使用流程

爬虫 --- 01 anaconda安装,http与https, 爬虫初始

给你一囗甜甜゛ 提交于 2020-05-07 18:25:56
一.Anaxonda的安装   1. 双击 Anaconda3-5.0.0-Windows-x86_64.exe 文件   2.下一步   3. ① 打开 cmd 窗口,录入 jupyter notebook 指令, 如果没有显示找不到命令且没有报错即可表示安装成功! ②在开始菜单中显示 二.HTTP 与HTTPS   1.HTTP协议   ①概念 1 .官方概念:     HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, 是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。   2.白话概念:     HTTP协议就是服务器(Server)和客户端(Client)之间进行数据交互(相互传输数据)的一种形式。   ②HTTP工作原理   ③注意事项     - HTTP允许传输任意类型的数据对象。正在传输的类型由Content- Type加以标记。      - HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求, 并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。      - HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容, 任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-

Python网络爬虫之cookie处理、验证码识别、代理ip、基于线程池的数据爬去

风格不统一 提交于 2020-05-07 17:37:29
本文概要 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: # !/usr/bin/env python # -*- coding:utf-8 -*- import requests if __name__ == " __main__ " : # 张三人人网个人信息页面的url url = ' http://www.renren.com/289676607/profile ' # 伪装UA headers= { ' User-Agent ' : ' Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 ' , } # 发送请求,获取响应对象 response = requests.get(url=url,headers= headers) # 将响应内容写入文件 with open( ' ./renren.html ' , ' w ' ,encoding= ' utf-8 ' )

python网络爬虫——requests高阶部分:模拟登录与验证码处理

家住魔仙堡 提交于 2020-05-07 17:36:54
云打码平台【处理各类验证码的平台】 注册:普通用户和开发者用户 登录: 登录普通用户(查看余额) 登录开发者用户: 创建一个软件:我的软件->创建软件 下载示例代码:开发者中心->下载最新的DLL->pythonHttp示例代码下载 一般点击登录按钮的请求都是post请求 cookie的作用,服务器使用cookie记录客户端的状态:经典:免密登录 服务端创建,客户端存储 有有效时长,动态变化 引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: import requests if __name__ == " __main__ " : # 张三人人网个人信息页面的url url = ' http://www.renren.com/289676607/profile ' # 伪装UA headers= { ' User-Agent ' : ' Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 ' , } # 发送请求,获取响应对象 response = requests

Python爬虫之requests模块(2)

主宰稳场 提交于 2020-05-07 17:36:33
一.今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 二.回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 三.引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env python # -*- coding:utf-8 -*- import requests if __name__ == "__main__": #张三人人网个人信息页面的url url = 'http://www.renren.com/289676607/profile' #伪装UA headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', } #发送请求,获取响应对象 response = requests.get(url=url,headers=headers) #将响应内容写入文件 with open('./renren.html','w

微信公众号数据抓取

烈酒焚心 提交于 2020-05-07 10:50:29
1.抓取某个公众号所有的文件信息 Charles +电脑版微信+pycharm+python 2. 分析 经过分析:每个公众号文章列表页连接都是 https://mp.weixin.qq.com/mp/profile_ext 开头 ,抓取时每个公众号的只有几个参照不一样 抓取: 3. 代码 import requests import json import time def parse( __biz , uin, key, pass_ticket, appmsg_token= "" , offset= " 0 " ): """ 文章信息获取 """ url = ' https://mp.weixin.qq.com/mp/profile_ext ' headers = { " User-Agent " : " Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400 " , } params = { " action " : "