response

网络爬虫(一)- 基本使用

≯℡__Kan透↙ 提交于 2020-02-15 02:35:05
get请求 get请求的基本使用 // 1. 打开浏览器,创建HttpClient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); // 2.输入网址,发起get请求创建HttpGet对象 HttpGet get = new HttpGet("http://112.124.1.187/index.html?typeId=16"); // 3.发情请求,返回响应,使用HttpClient对象发起请求 CloseableHttpResponse response = httpClient.execute(get); // 4.解析响应,获取数据 if(response.getStatusLine().getStatusCode() == 200){ HttpEntity entity = response.getEntity(); String content = EntityUtils.toString(entity,"utf-8"); System.out.println(content); } get请求带参数(可以直接写在地址后,但是构成硬编码) // 1. 打开浏览器,创建HttpClient对象 CloseableHttpClient httpClient = HttpClients

模拟登陆,selenium,线程池

别来无恙 提交于 2020-02-15 00:53:37
一 . 模拟登陆案例(识别验证码) 1 . 打码平台 - 云打码 : www.yundama.com   使用步骤 :     - 注册两个账户,普通用户和开发者用户 :     - 登陆       普通用户查看余额       登陆开发者用户 :         创建一个软件: 我的软件 -> 创建软件         下载示例代码: 开发者中心 -> 下载最新云打码DLL -> PythonHTTP示例下载     - 下载后解压缩,如下 :    import http.client, mimetypes, urllib, json, time, requests ###################################################################### class YDMHttp: apiurl = 'http://api.yundama.com/api.php' username = '' password = '' appid = '' appkey = '' def __init__(self, username, password, appid, appkey): self.username = username self.password = password self.appid = str(appid)

jQuery中的Ajax方法

◇◆丶佛笑我妖孽 提交于 2020-02-14 20:12:49
1.1 $.get方法 用来发送get方式的ajax请求 $.get(var1, var2, var3, var4); 参数1: 请求的后端程序的地址 参数2: 要发送到后端程序的数据,json对象/js对象(推荐)或者 字符串 参数3: ajax请求成功时触发的回调函数,该函数中有一个参数,就是后端程序返回的数据 参数4: 设置返回数据的类型: text(默认) 、 json 参数4说明: 如果后端返回的是普通字符串(如: ‘Hello World’), 则设置为text或者不设置,默认为text 如果后端返回的是json字符串(如: ‘{“goods”:“华为 mate x”, price: 8999}’),则设置为json,函数内部会自动转为js对象 如果后端返回的是js/json对象,则不需要设置,就能接收成js对象形式 $.get('/getData', {name:'zs', age:20}, function (response) { console.log(response); }, 'json'); 1.2 $.post方法 $.post 和 $.get 的用法一模一样,区别只是一个用来发送post请求另一个用来发送get请求 $post(var1, var2, var3, var4); 参数1: 请求的后端程序的地址 参数2: 要发送到后端程序的数据

Python3正则去掉HTML标签

China☆狼群 提交于 2020-02-14 18:04:11
Python3正则去掉HTML标签 1.引用一段代码 import re html = '<pre class="line mt-10 q-content" accuse="qContent">\ 目的是通过第一次soup.find按class粗略筛选并通过soup.find_all筛选出列表中的a标签并读入href和title属性<br><br>\ 但是由于目标链接可能有图片链接,而这是我不想要的.请问如何去除?<br></pre>' reg = re.compile('<[^>]*>') print(reg.sub('',html)) 2.重点 reg = re.compile('<[^>]*>') print(reg.sub('',html)) 3.实例 开始 import requests import re from bs4 import BeautifulSoup retxt=open('test.log','r') for x in range(250,999): #rurl=rurl.strip('\n') url='http://ananas.mooc1.mti100.com/tologin?fid={0}'.format(x) #print(url) try: response=requests.get(url,timeout=1).text #print

request模块封装

我们两清 提交于 2020-02-14 17:59:00
import requests import hashlib import time import os import json class requestsTools: def __init__(self, basePath): self._basePath = basePath self._headers = {} self._cookies = {} self._file_suffix = '.html' @property def basePath(self): return self._basePath @basePath.setter def basePath(self, basePath): self._basePath = basePath @property def headers(self): return self._headers @headers.setter def headers(self, headers): self._headers = headers @property def cookies(self): return self._cookies @cookies.setter def cookies(self, cookies): self._cookies = cookies def updateCookies(self,

mitmproxy的安装以及使用

此生再无相见时 提交于 2020-02-14 01:17:26
一、介绍说明 mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。 mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。 mitmproxy的功能: 1、拦截HTTP和HTTPS请求和响应 2、保存HTTP会话并进行分析 3、模拟客户端发起请求,模拟服务器端返回响应 4、利用反向代理将流量转发给指定的服务器 5、支持Mac和linux上的透明代理 6、利用Python对HTTP请求与响应进行实时处理 mitmproxy运行与自己的PC上,在PC的8080端口运行,然后开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。 手机和PC在一个局域网内,设置代理是mitmproxy的代理地址,这样手机在访问互联网的时候流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器,服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy就相当于起了中间人的作用,抓取到所有request和response,另外这个过程还可以对接mitmproxy

判断一个url是否是图片

╄→гoц情女王★ 提交于 2020-02-13 20:52:32
public bool RemoteFileExists(string fileUrl) { bool result = false;//下载结果 WebResponse response = null; try { WebRequest req = WebRequest.Create(fileUrl); response = req.GetResponse(); if (response.ContentType == "image/jpeg") result = true; else result = false; } catch (Exception ex) { result = false; } finally { if (response != null) { response.Close(); } } return result; } public bool RemoteFileExists(string fileUrl) { bool result = false;//下载结果 WebResponse response = null; try { WebRequest req = WebRequest.Create(fileUrl); response = req.GetResponse(); if (response.ContentType == "image

SpringMVC 进阶

旧街凉风 提交于 2020-02-13 20:09:39
请求限制 一些情况下我们可能需要对请求进行限制,比如仅允许POST,GET等... RequestMapping注解中提供了多个参数用于添加请求的限制条件 value 请求地址 path 请求地址 method 请求方法 headers 请求头中必须包含指定字段 params 必须包含某个请求参数 consumes 接受的数据媒体类型 (与请求中的contentType匹配才处理) produce 返回的媒体类型 (与请求中的accept匹配才处理) 案例: @RequestMapping(value = "/editCourse",method = RequestMethod.POST,headers = {"id"},params = {"name"},consumes = {"text/plain"},produces = {"text/html"}) //含义:url为/editCourse 请求方法为POST hander必须包含id字段 参数必须包含name 只接受text/plain类型数据 返回数据类型为text/html 为了简化书写,MVC还提供了集合路径和方法限制的注解,包括常见的请求方法: PostMapping GetMapping DeleteMapping PutMapping 例: @PostMapping("/editCourse")

python成功爬取拉勾网——初识反爬(一个小白真实的爬取路程,内容有点小多)

淺唱寂寞╮ 提交于 2020-02-13 19:04:48
python成功爬取拉勾网(一个小白的心里路程) 最开始想爬取拉钩是因为半年前上python实验课的时候,老师给了两个任务,一个时爬取糗百的笑话内容,另一个时爬取拉勾网的职位信息,当时因为课时紧张的缘故,老师讲解了关于爬虫的相关的库(requests,BeautifulSoup库等)的基本使用方法,发下了爬取糗百网的源码,让我们自己试一试,说是拉勾网不好爬取,目前的水平不够。疫情在家这几天我基本可以容易的爬取静态网页相关的内容,便想的试试爬取拉钩。 先观察网页源码: 很容易从源码看出所有相关的信息都放在li标签的属当中,具体的工资值放在span标签当中 我用直接用原来爬取静态网页的方法直接爬取: import bs4 import requests import re from bs4 import BeautifulSoup url = 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=' try : hd = { 'user-agent' : 'chorme/10' } r = requests . get ( url , headers = hd ) r . raise_for_status ( ) r . encoding = r . apparent_encoding

【Android】OkHttp系列(一):发送请求与获取响应流程概述

六眼飞鱼酱① 提交于 2020-02-13 17:38:39
该系列OkHttp源码分析基于 OkHttp3.14.0 版本 文章目录 流程图 配置OkHttpClient 配置请求Request 执行请求 同步请求execute() 异步请求enqueue() 拦截器责任链获取响应结果 流程图 配置OkHttpClient OkHttpClient client = new OkHttpClient . Builder ( ) . addInterceptor ( new TestInterceptor ( ) ) . cache ( new Cache ( getCacheDir ( ) , 1024 ) ) . eventListener ( new OkHttpListener ( ) ) . build ( ) ; OkHttpClient就像配置一个浏览器一样,我们可以指定一些参数,比如超时时间、cookie持久化、代理等等。 使用建造者模式进行配置,基本上所有的配置参数都会有一个默认值,我们只需要针对我们关心的配置进行修改就好了。比如我这里主要进行了一下配置: 添加了一个拦截器 设置了缓存目录以及缓存大小 设置了一个事件监听器,方便我Debug 配置请求Request Request request = new Request . Builder ( ) . url ( "..." ) . get ( ) . header (