gecko

Python下载网络图片方法汇总与实现

懵懂的女人 提交于 2021-01-06 15:31:03
> 本文介绍下载python下载网络图片的方法,包括通过图片url直接下载、通过re/beautifulSoup解析html下载以及对动态网页的处理等。 >​本期小编推送2021初学者一定会用到的Python资料,含有小编自己呕心沥血整理的免费书籍/视频/在线文档和编辑器/源代码,关于`Python`的安装qun:850973621 ### 通过pic_url单个/批量下载 已知图片url,例如http://xyz.com/series-*(1,2..N).jpg,共N张图片,其链接形式较为固定,这样经简单循环,直接通过`f.write(requests.get(url).content)'即可以二进制形式将图片写入。 ``` import os import requests def download(file_path, picture_url): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE", } r = requests.get(picture_url, headers=headers) with open(file_path

sqlmap

ぃ、小莉子 提交于 2021-01-02 19:20:08
sqlmap 1、保存数据包记得把sql注入参数后加上*号,告诉sqlmap注入点位置 GET /vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.9 Cookie: PHPSESSID=vfkitbjkbdhqqjcr6ou8bjrb35; security=low Connection: close 2、sqlmap简单判断注入点 获取当前数据库用户名 sqlmap -r /路径/123.txt -v 3 --current-user 获取root账号密码 sqlmap -r /路径/123.txt -v 3 -

HTTP Keep-Alive模式

ぃ、小莉子 提交于 2020-12-31 10:06:57
——献给那些向我这样对HTTP的“伪”熟悉者。 故事发生在10月份的一次面试经历中,本来我不想说出来丢人显眼,但是为了警醒自己和告诫后人,我决定写成博文发出来。因为在面试过程中,我讲在2009年写过QQ农场助手,在这期间深入学习了HTTP协议,而且在2010-05-18写了博文: HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等 。面试官说既然我熟悉HTTP协议,就问“当HTTP采用keepalive模式,当客户端向服务器发生请求之后,客户端如何判断服务器的数据已经发生完成?” 说实话,当时我懵了,一直没有关注过keepalive模式。我只知道: HTTP协议中客户端发送一个小请求,服务器响应以所期望的信息(例如一个html文件或一副gif图像)。服务器通常在发送回所请求的数据之后就关闭连接。这样客户端读数据时会返回EOF(-1),就知道数据已经接收完全了。 我就这样被面试官判了死刑!!!说我完全停留在表面,没有深入(当时真的很受打击,一直自认为技术还不错!)。我当时真的很想找各种借口: 之前没有用到HTTP的keepalive模式,所以没有深入 好久没有用HTTP协议,细节忘了 实习的东西跟HTTP协议没有关系,用得少了就忘了 。。。。。。 觉得各种解释都是那么苍白无力!我再次感叹书到用时方恨少,也感叹一个人的时间是多么的有限

Canvas

自作多情 提交于 2020-12-31 08:19:53
Canvas canvas 最早由Apple引入WebKit,用于Mac OS X 的 Dashboard,后来又在Safari和Google Chrome被实现。 基于 Gecko 1.8的浏览器,比如 Firefox 1.5, 同样支持这个元素。 <canvas> 元素是WhatWG Web applications 1.0规范的一部分,也包含于HTML 5中。 canvas因为是html5引入的, 存在兼容性问题 体验Canvas 什么是Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。 画布是一个矩形区域,您可以控制其每一像素。 canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。 创建Canvas元素 向 HTML5 页面添加 canvas 元素。 规定元素的 id、宽度和高度: /*属性 width 和 height属性指的是画布的大小*/ <canvas id="myCanvas" width="200" height="100"></canvas> 注意:不要在css中设置canvas的宽高,css中设置的是canvas的大小,而不是canvas中画布的大小 通过JavaScript来绘制 /*获取元素*/ var myCanvas = document.querySelector('#myCanvas'

Python 爬虫实例(13) 下载 m3u8 格式视频

…衆ロ難τιáo~ 提交于 2020-12-29 22:28:40
Python requests 下载 m3u8 格式 视频 最近爬取一个视频网站,遇到 m3u8 格式的视频需要下载。 抓包分析,视频文件是多个 ts 文件,什么是 ts文件,请去百度吧: 附图:抓包分析过程 直接把 ts文件请求下来,然后合并 ts文件,如果想把 ts文件转换 MP4 格式,请自行百度吧。 完整下载代码: # coding=utf-8 import requests import re import time from bs4 import BeautifulSoup import os session = requests.session() def spider(): url = ' http://xueyuan.91yunxiao.com/videoLesson/play/4028e4115fc893fb015fecfc56240b66.html ' headers = { " Host " : " xueyuan.91yunxiao.com " , " Connection " : " keep-alive " , " Upgrade-Insecure-Requests " : " 1 " , " User-Agent " : " Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,

python urllib和urllib3包使用

依然范特西╮ 提交于 2020-12-26 07:56:50
urllib包 urllib是一个包含几个模块来处理请求的库。 分别是: urllib.request 发送http请求 urllib.error 处理请求过程中,出现的异常。 urllib.parse 解析url urllib.robotparser 解析robots.txt 文件 urllib.request urllib当中使用最多的模块,涉及请求,响应,浏览器模拟,代理,cookie等功能。 1. 快速请求 urlopen返回对象提供一些基本方法: read 返回文本数据 info 服务器返回的头信息 getcode 状态码 geturl 请求的url request.urlopen(url, data=None, timeout=10 ) # url: 需要打开的网址 # data:Post提交的数据 # timeout:设置网站的访问超时时间 from urllib import request import ssl # 解决某些环境下报<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed ssl._create_default_https_context = ssl._create_unverified_context url = ' https://www.jianshu

C#爬虫使用代理刷csdn文章浏览量

拈花ヽ惹草 提交于 2020-12-25 03:39:52
昨天写了一篇关于“ c#批量抓取免费代理并验证有效性 ”的文章,接着昨天的目标继续完成吧,最终实现的目的就是刷新csdn文章的浏览量(实际上很简单,之前博客园的文章也是可以使用代理ip来刷的,后来不行了),刷文章的浏览量本身是可耻的,没有任何意义,当然技术无罪。之前是在csdn写文章,自从csdn改版之后就主要在博客园写。 1.如何维护代理IP库? 想要使用代理IP,那就必须有一个一定数量、足够有效的代理ip库,在学习阶段,随便玩玩那就只能从免费的代理IP网站上抓取,没有一定数量的代理刷文章流浪量非常慢,首先就是要维护好自己的代理Ip库 之前用过的 西刺代理 、 66ip 比较靠谱,西祠好像有反扒,遇到过一次,不知道是西祠网站的问题还是反扒的策略,这两个网站每分钟抓取的能用的代理大概有2,3个,这已经算的上比较客观的了, data5u、快代理、ip3366网页端更新的非常少,而且有效性比较低,快代理抓取网页还必须设置Useragent,发现设置后获取的ip的端口和网页端不一致,很玩味是吧,没办法免费的就是这样,不然人家就收费了,当然付费的代理也不稳定,但肯定是比免费的好很多。 维护代理质量 从网页端抓取下来的代理,肯定是要经过验证再入库的,最简单的方式就是发起一个请求状态码是否为200。我推荐的免费代理还是上面两个西刺代理和66ip,相对其他的免费代理有效性、数量都比较高。

python3 爬虫百度贴吧

纵然是瞬间 提交于 2020-12-19 12:00:17
import urllib.request import urllib.parse from lxml import etree def loadPage(url): """ 作用:根据url发送请求,获取服务器响应文件 url: 需要爬取的url地址 """ #print url #美女 # headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0)AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"} request = urllib.request.Request(url) html = urllib.request.urlopen(request).read() # 解析HTML文档为HTML DOM模型 content = etree.HTML(html) #print content # 返回所有匹配成功的列表集合 link_list = content.xpath('//div[@class="t_con cleafix"]/div/div/div/a/@href') #link_list = content.xpath('//a[@class="j_th_tit"]/@href') for

python爬虫的基本框架

和自甴很熟 提交于 2020-12-04 04:01:52
1.爬虫的基本流程: 通过requests库的get方法获得网站的url 浏览器打开网页源码分析元素节点 通过BeautifulSoup或者正则表达式提取想要的数据 储存数据到本地磁盘或者数据库 2.正式开工啦 url = “http://www.jianshu.com” page = requests.get(url) #发现返回状态码403,说明有问题出现(除200外,其他的都是有问题的) #这个时候查看一下爬虫的robots协议,的确有些问题,解决方案如下: headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} 获取html页面 page = requests.get(url, headers = headers) demo = page.text #记住,有时候有可能出现编码问题 page.encoding = page.apparent_encoding #将获取的内容转换为BeautifulSoup格式,并将html.parser作为解释器(熬一锅汤) soup = BeautifulSoup(demo, 'html.parser')

scrapy框架学习

依然范特西╮ 提交于 2020-12-01 02:48:11
- 一 什么是scrapy?    - Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。   - 安装      - linux: pip3 install scrapy      - windows:        - 1) pip3 install wheel        - 2) 下载Twisted ( http: / / www.lfd.uci.edu / ~gohlke / pythonlibs / #twisted )        - 3) 进入下载目录, 执行 pip3 install Twisted‑ 17.1 . 0 ‑cp35‑cp35m‑win_amd64.whl        - 4) pip3 install pywin32        - 5) pip3 install scrapy - 二 使用    - 1) 创建项目:scrapy startproject 项目名称    - 2) 创建应用程序:      - 先进入项目目录: cd 项目名      - scrapy genspider 应用名 爬取网页的起始url:      - 生成的初始文件 # -*- coding: utf-8