Python 利用you-get 库下载B站视频

import sys from you_get import common as you_get #导入you-get库 directory = r’F:\pydemo’ #设置下载目录 url = ‘https://www.bilibili.com/video/av36631527/?spm_id_from=trigger_reload’ #需要下载的视频地址 sys.argv = [‘you-get’,’-o’,directory,url] #sys传递参数执行下载,就像在命令行一样 you_get.main()   CMD下 you-get -i 视频url 可以查看视频信息 超清 高清 标清那些

一行Python代码过滤标点符号等特殊字符

原文地址:https://www.jb51.net/article/167471.htm 很多时候我们需要过滤掉标点符号等特殊字符,网上虽然有一堆的方法,但是都没有找到一个非常满意的,有些过滤不了中文的标点符号,有些过滤不了英文的标点符号,有些过滤不全。 最后通过查看正则表达式文档,发现一个高效的办法,一行代码就能搞定:? 12345678910 def replace_all_blank(value):”””去除value中的所有非字母内容,包括标点符号、空格、换行、下划线等:param value: 需要处理的内容:return: 返回处理后的内容”””# \W 表示匹配非数字字母下划线result = re.sub(‘\W+’, ”, value).replace(“_”, ”)print(result)return result 其中用到了 Python 的 re 模块, re…

Read More

scrapy 利用fiddler抓包批量下载【掌通家园】APP图片

关键点,利用fiddler抓取手机app里的数据接口参数 抓取后的数据 爬虫处理文件deal.py import scrapy import bs4 import random import csv import requests import json from ..items import newsfoto2Item # 需要引用mrleItem,它在items里面。因为是items在deal.py的上一级目录,所以要用..items,这是一个固定用法。 class newsfoto2Spider(scrapy.Spider): #定义一个爬虫类newsfotoSpider。 name = ‘newsfoto2’ allowed_domains = [‘api.szy.cn’] start_urls = [‘https://api.szy.cn/growthproxy/schoolfe…

Read More

scrapy 域名过滤。DEBUG: Filtered offsite request to 解决方案

在做爬虫项目时,出现了一个问题,解析一个网站二次爬取时没有获取到数据,就写了一个测试程序试了下,测试程序如下 import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule class ZhenaiSpider(CrawlSpider):     name = ‘zhenai’     allowed_domains = [‘www.zhenai.com’]     start_urls = [‘http://www.zhenai.com/zhenghun/beijing/1’]     ru…

Read More

scrapy 抓取app 掌通家园 图文页面

接口需要通过fiddler来抓包获取,下载下来的图片是原始高清大图无水印 爬虫处理页面deal.py import scrapy import bs4 import csv from ..items import newsfoto2Item # 需要引用mrleItem,它在items里面。因为是items在deal.py的上一级目录,所以要用..items,这是一个固定用法。 class newsfoto2Spider(scrapy.Spider): #定义一个爬虫类newsfotoSpider。 name = ‘newsfoto2’ #定义爬虫的名字。 allowed_domains = [‘web.szy.cn’] #定义爬虫爬取网址的域名。 start_urls = [] #定义起始网址。 for x in range(1): url = ‘https://web.szy.cn/c…

Read More

Selenium+PhantomJS使用时报错原因及解决方案

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn(‘Selenium support for PhantomJS has been deprecated, please use headless ‘ 翻译过来就是: 解决方案 selenium版本降级 通过pip show selenium显示,默认安装版本为3.8.1。 将其卸载pip uninstall selenium,重新安装并指定版本号pip install selenium==2.48.0。 再次运行,发现没有报错,搞定! 使用无界面浏览器 Selenium+Headless Fire…

Read More

phantomjs下载安装与使用

一、PhantomJS是什么?PhantomJS是一个基于webkit的javaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行javaScript代码。任何你可以基于在webkit浏览器做的事情,它都能做到。它不仅是个隐性的浏览器,提供了诸如css选择器、支持wen标准、DOM操作、json、HTML5等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。phantomJS的用处可谓非常广泛诸如网络监测、网页截屏、无需浏览器的wen测试、页面访问自动化等。   二、phantomjs的下载安装 : http://phantomjs.org/download.html   我们需要在官方网站下载对应的安装包,PhantomJS 支持多种操作系统,比如 Windows、Linux、Mac、FreeBSD 等,我们可以选择对应…

Read More

Python-5分钟教你用图片定位具体地址!

图片信息也是存在元数据的,网上官方称之为exif(exchange image file format),中文意思是交换图像文件格式。要注意的是有些图片是没有元数据的,比如压缩过的图片,元数据被破坏,无法探测,所以图片一定要是原图。如果你想用微信朋友圈,微博的图片来测试这次的代码,怕是没有希望了,因为都是被压缩过的图片。后续会提供一些额外思路,通过图片来定位物理信息在网络安全中还是非常有用途的。 这次用到的是python第三方库exifread,通过此库可以直接对图片进行元数据的读取。读取后其中有4项是关于GPS的经纬度坐标,将其清洗转化为gps在线网页(http://www.gpsspg.com/maps.htm)查询的经纬度格式。 # -*- coding: utf-8 -*- “”” @desc: 读取图片,解析其中的元数据小脚本 在线GPS定位网站:http://www.gpssp…

Read More

Python处理图片九宫格,炫酷朋友圈

01 前言 在日常的生活中,大家偶尔会看到朋友圈发的照片由一张被切成九张的效果,有时由一张照片被切成九张照片所带来的视觉盛宴是不一样的! 现在许多 P 图工具里面自带了这种功能,而微信小程序里也有专门可以切图的工具。为了熟练巩固的练习调库操作,今天就来带大家看看,如何用 Python 实现这个小功能。 对图像知识感兴趣的同学,可以看看之前写的一篇文章《图像学小知识,不看后悔…100%有用!》 02 成果展示 先来看看成果,原图为文章开始的图片,一图切九图朋友圈: 九张图发朋友圈的时候,还有个比较有意思的事,上传时是乱序的,还需要你自己像玩拼图一样自己摆位置。 03 思路讲解 这个小功能的实现利用了 Python 中的一个图形处理库,Pillow。 Pillow是由从著名的Python图像处理库PIL发展出来的一个分支,通过Pillow可以实现图像压缩和图像处…

Read More

Python减少代码量的两个内置函数

1 前言Python中内置了几个非常好用的函数。 当你掌握了这几个函数的用法后,有些场景下,不用自己去实现多余的冗余代码编写,只需要调用这些函数,便能很简短的帮你实现功能。 今天来分享下两个函数的场景以及用法。 PS:下例子截图演示均在 jupyter notebook 中完成。 2 enumerate enumerate,单词是枚举的意思。 枚举是什么意思呢?来看下 Java 中的枚举,直接选自百度提问。这个例子举得比较生动。 在你理解了枚举的意思后,来看下 Python 中枚举函数的使用场景。 场景: 在 Python 中,我们想去遍历一个 list 列表,有哪种方式可以将列表中的元素全部打印出来呢? 假设现在有个 list ,其中包含了 1 – 5 五个数字,用程序将每个元素打印出来。 自行思考下,再继续往后看。 方法一,直接 for 循环: for num in num…

Read More