这次又要逼真一点点,可以弄POST请求啦. 在WEB根目录下新建cgi-bin目录(据说是规模要求),然后运行命令: python -m CGIHTTPServer CGI-BIN目录下,form.py处理POST请求的内容(简化到不行): # -*- coding: utf-8 -*- import cgi header = 'Content-Type: text/html\n\n' html = '<h3>接受处理表单数据\n</h3>' #打印返回的内容 #print hea…
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的. 3.GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中. 两者用法上也有显著差异(援引自知乎): 1.GET用于从服务器端获取数据,包括静态资源(HTML|JS|CSS|Image等等).动态数据展示(列表…
一.先了解几个重要的http请求头或响应头信息 Request Headers: Host: 描述请求将被发送的目的地,包括,且仅仅包括域名和端口号. Origin: 说明请求从哪里发起的,包括,且仅仅包括协议和域名,并没有包含涉及到用户隐私的URL路径和请求内容.可以防止CSRF的攻击.origin只用于Post请求. Referer: 告知服务器请求的原始资源的URI,包括:协议+域名+查询参数(注意,不包含锚点信息).其用于所有类型的请求. 因为原始的URI中的查询参数可能包含ID或密码等…
掷骰子 骰子类 # die.py 骰子类模块 from random import randint class Die(): """骰子类""" def __init__(self, num_sides=6): """默认六面的骰子""" self.num_sides = num_sides def roll(self): """掷骰子的方法"&q…
import random   #引入random模块,运用random函数list_one=["10081","10082","10083","10084","10085"]    #可获得一等奖名单list_two=["10091","10092","10093","10094","10095",&quo…
from bs4 import BeautifulSoup import requests import time def captcha(captcha_data): with open("captcha.jpg",'wb') as f: f.write(captcha_data) text=input("请输入验证码") def zhihuLogin(): #构建一个session对象,可以保存cookie(相当于urllib中用的cookiejar) sess…
使用requests模块构造的下载器,首先安装第三方库requests pip install requests 1 class StrongDownload(object): def __init__(self): #拿到代理iplist self.iplist = ['自己想办法搞'] # self.UserAgent = ['自己想办法搞'] def get(self,url,timeout,proxy=False,num_retries=3): '''url timeout,proxy,…
urllib模块发起的POST请求 案例:爬取百度翻译的翻译结果 1.通过浏览器捉包工具,找到POST请求的url 针对ajax页面请求的所对应url获取,需要用到浏览器的捉包工具.查看百度翻译针对某个字条发送ajax请求,所对应的url 点击clear按钮可以把抓包工具,所抓到请求清空 然后填上翻译字条发送ajax请求,红色框住的都是发送的ajax请求 抓包工具All按钮代表 显示抓到的所有请求 ,包括GET.POST请求 .基于ajax的POST请求 XHR代表 只显示抓到的基于ajax的P…
增加下面的就ok了from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequestWarning)…
GitHub代码练习地址:①利用parse模拟post请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac04_parse-post.py ②parse功能简单应用:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac03_parse.py ③利用parse模拟post请求(通过request类实现):https://github.com/Ne…