爬虫 selenium 绕过检测机制 使用selenium模拟浏览器进行数据抓取无疑是当下最通用的数据采集方案,它通吃各种数据加载方式,能够绕过客户JS加密,绕过爬虫检测,绕过签名机制。它的应用,使得许多网站的反采集策略形同虚设。由于selenium不会在HTTP请求数据中留下指纹,因此无法被网站直接识别和拦截。这是不是就意味着selenium真的就无法被网站屏蔽了呢?非也。selenium在运行的时候会暴露出一些预定义的Java...
TypeError: a bytes-like object is required, not 'str' with open(meta_filename, 'wb') as f: json.dump(meta, f, indent=4)TypeError: a bytes-like object is required, not 'str'原因:open(meta_filename, 'wb') 是要以二进制写入,不能写入字符串,这里python2不会报错,但是在python3会报错:...
Python生成器 # 列表生成式# lt = [i for i in range(10)]# 生成器方式1:将列表生成式的[]改为()lt = (i for i in range(3)) # 0 1 2# 可以转换为列表# print(list(lt))# 可以进行遍历# for i in lt:# print(i, end=' ')# 可以一个一个提取,当遍历完毕后再使...
2018年大数据面试题总结 目前面试了多家大数据开发工程师,成长了很多,也知道了很多知识,下面和大家分享一下我遇到的面试题和答案。1.kafka集群的规模,消费速度是多少。答:一般中小型公司是10个节点,每秒20M左右。 2.hdfs上传文件的流程。答:这里描述的 是一个256M的文件上传过程① 由客户端 向 NameNode节点节点 发出请求②NameNode 向Client返回可以可以存数据的...
Python 协程( asyncio) import asyncio# 1.async用于定义协程的关键字,async定义一个协程,async def foo(n): for i in range(10): print('wait %s s' % n) # await用于挂起阻塞的异步调用接口。 await asyncio.sleep(n) return ...
Pycharm 常用快捷键 #最重要的快捷键 1. ctrl+shift+A:万能命令行 2. shift两次:查看资源文件#新建工程第一步操作 1. module设置把空包分层去掉,compact empty middle package 2. 设置当前的工程是utf-8,设置的Editor-->File Encodings-->全部改成utf-8,#注释 1. c...
Python + selenium 点击空白处/指定的位置 from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdr = webdriver.Chrome()dr.get('http://www.baidu.com')ActionChains(dr).move_by_offset(200, 100).click(...
GET 和 POST 请求方法 区别 GET 和 POST 请求方法有如下区别:1.GET 方式请求中参数是包含在 URL 里面的,数据可以在 URL 中看到,而 POST 请求的 URL 不会包含这些数据,数据都是通过 表单的形式传输,会包含在 Request Body 中。2.GET 方式请求提交的数据最多只有 1024 字节,而 POST 方式没有限制。3.所以一般来说,网站登录验证的时候,需要提交用户名密码...
Python 关键知识点 Python是一个面向对象的解释型的交互式高级脚本语言:Python被设计成一种高可读性的语言,因为它大量地使用了英语中的单词作为关键字,而且不像其他语言使用标点符号构成复杂的语法结构,Python的语法结构非常少。Python是一种面向对象的语言:即Python是支持面向对象的,支持在对象中进行代码封装。Python是一种解释型语言:即Python程序是在运行时由解释器解释执行的,因而不用事...
scrapy 保存数据终端命令 # json格式,默认为Unicode编码scrapy crawl itcast -o data.json# json lines格式,默认为Unicode编码scrapy crawl itcast -o data.jsonl# csv 逗号表达式,可用Excel打开scrapy crawl itcast -o data.csv# xml格式scrapy crawl itca...
使用 Flask-SocketIO 服务端和客户端的双向通信 介绍:flask-socketio模块实际上是封装了flask对websocket的支持,websocket在连接建立阶段是通过HTTP的握手方式进行的,这可以看做是为了兼容浏览器或者使用一些现成的功能来实现,这样一种捷径。当连接建立之后,客户端和服务端之间就不再进行HTTP通信了,所有信息交互都由websocket接管。Flask-SocketIO使Flask应用程序可以访问客户端和服务器之间的...
Windows10 | Ubuntu 远程连接 Ubuntu服务器 1.安装ssh sudo apt-get install openssh-server 输入 "sudo ps -e | grep ssh" --> 回车 --> 有 sshd,说明 ssh 服务已经启动 如果没有启动,输入 "sudo service ssh start" --> 回车 --> ssh 服务就会启动。2.远程连接(在其他w...
Pycharm git 使用简介 1.VCS 版本控制服务器(GIT CVS SVN)2.VCS—>checkout from version control 从服务器clone代码并且创建本地项目,默认切换到主分支(master)3 .gitignore文件:用来添加忽略文件4.右键—>Git—>Repository—>Branches 创建并切换到dev分支5.开发到一定阶段将dev分支...
Ubuntu18.04 更换 国内源 1.进入root模式 sudo -s2.进入ubuntu源的目录 cd /etc/apt3.备份sources.list cp sources.list sources.list.bak 4.修改sources.list 删除sources.list中的内容,把阿里云的源复制进source.list中 gedit sources.l...
Pycharm | Windows | ubuntu 更换国内源 1.在pycharm Settings中找到下图 点击图中的 红色加号2.点击下图红色标识 3.把原来的网址更改成国内的镜像源 (推荐下面的镜像源)清华: https://pypi.tuna.tsinghua.edu.cn/simple豆瓣: http://pypi.douban.com/simple/阿里: http://mirrors.aliyun.com/pyp...
Python 曼哈顿距离 切比雪夫距离 闵可夫斯基距离 标准化欧氏距离 马氏距离 编辑距离 1. 曼哈顿距离def Manhattan(vec1, vec2): npvec1, npvec2 = np.array(vec1), np.array(vec2) return np.abs(npvec1-npvec2).sum()# Manhattan_Distance,2. 切比雪夫距离def Chebyshev(vec1, vec2): npvec1,...
Python 欧式距离 余弦相似度 用scikit cosine_similarity计算相似度 用scikit pairwise_distances计算相似度 1、欧式距离# 1) given two data points, calculate the euclidean distance between themdef get_distance(data1, data2): points = zip(data1, data2) diffs_squared_distance = [pow(a - b, 2) for (a, b) ...
pymysql 的使用方法 1. 安装 pip install pymysql 2.import pymysql #导入 pymysql #打开数据库连接db= pymysql.connect(host="localhost",user="root", password="123456",db="test",port=3307) # 使用cursor()方法获取操作游标cur = db.cu...
Ubuntu18.10&Ubuntu18.04安装Python虚拟环境 Ubuntu18.04版本里面自带了最新的Python3.6.5版本,在安装Python虚拟环境时需注意:1.首先是安装两个包pip3 install virtualenv # python虚拟环境pip3 install virtualenvwrapper # 封装了虚拟环境,支持一些简化命令然后通过 pip3 list 查看是否安装成功 2.添加环境变量(注意点!!!)...