requests是一个python 轻量的http客户端库,相比python的标准库要优雅很多。接下来通过本文给大家介绍Python3使用requests发闪存的方法,一起学习吧。
使用以下命令安装requests
抓包工具中看到的http头和cookies会多很多项,其中一些是可以省略掉的。比如我省略掉了Content-Length。
import requests url='http://ing.cnblogs.com/ajax/ing/Publish' head={'Accept':'application/json, text/javascript, */*; q=0.01', 'Origin':'http://ing.cnblogs.com', 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/json; charset=UTF-8', 'DNT':1, 'Referer':'http://ing.cnblogs.com/', 'Accept-Encoding':'gzip, deflate', 'Accept-Language':'zh-CN,zh;q=0.8,en;q=0.6', } #session 通过抓包工具,或者cookies工具可以得到. cookies={'.CNBlogsCookie':'67834BD16E61A87726AF2203F849339E8DEFF67BC4A453FDG830AC373CAC83BAAF2312B975279092095A0E143400E82BBEE189BD5CB8826CA6A6E836F69EC5783C410C2B815A833D5816CEB5B457B159A38F'}#←_←填你自己的session data={"content":"[天上的星星不说话]python大法好{}","publicFlag":1} s=requests.Session() for r in range(1,122): data['content']="[天上的星星不说话]python大法好{}".format(r) post=s.post(url,data,cookies=cookies) print(post.text)
以下代码用于删除闪存
import requests import re def timeit(fn): import time def v(): start=time.clock() fn() end=time.clock()-start print(fn.__name__,"运行耗时:",end) return v url='http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=my&PageIndex=1&PageSize=30' head={'Accept':'application/json, text/javascript, */*; q=0.01', 'Origin':'http://ing.cnblogs.com', 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/json; charset=UTF-8', 'DNT':1, 'Referer':'http://ing.cnblogs.com/mobile/', 'Accept-Encoding':'gzip, deflate', 'Accept-Language':'zh-CN,zh;q=0.8,en;q=0.6', } cookies={'.CNBlogsCookie':'989A8F9SF9SF989S982938492849823498239489284989SDF89S89F8E98F9S88E9R89WER898R989R23423J4K2529R8FS7R2K48978S7DF8'} s=requests.Session() @timeit def geting(): data={'ingId':'878581'} r=s.get(url,cookies=cookies) text=r.text ingid=re.findall('''feed_content_(\d+)(.+?天上的星星不说话.+?DelIng)''',text,re.DOTALL) #ingid=re.findall('''feed_content_(\d+)''',text) #print(ingid) notlucky=[a for a,b in ingid if 'ing_icon_lucky' not in b] for x in notlucky: data['ingId']=x try: sdel=s.post("http://ing.cnblogs.com/ajax/ing/del",cookies=cookies,data=data) print(sdel.text) except: pass for xxx in range(18): geting()