自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 webdriver安装配置

1webdriver介绍在爬虫过程中,selenium+webdriver组合的方法能有效解决页面动态加载元素难以获取的问题。webdriver是指一个模拟浏览器,常用chromedriver、PhantomJS…但是随着selenium逐渐放弃对PhanthomJS的支持,加入了无头模式的chromedriver变得越来越热门。下面图文介绍一下chromedriver的安装配置方法。2准备工作chrome浏览器python 3.x环境已安装selenium模块3下载和配置chromedri

2021-11-08 17:02:07 1357

原创 打印str时出现UnicodeEncoderError... surrogates not allowed

在打印一个长字符串res时,出现以下错误:print(res)解决办法print(repr(res))原因解释:目标对象(这里指长字符串res)中可能存在解释器无法理解的字符,无法将其转换为utf-8,不仅无法打印,在debug状态下还无法查看其内容。所以我们可以使用repr函数将字符串转化为解释器可以理解的字符。可能出现的场景:读取大量文本内容时;读取html标签时;总之就是大量的字符容易出现该现象。因为字符串太长,错误的不确定性就强了。用repr函数基本能解决这个问

2021-11-08 16:43:46 601

原创 根据经纬度计算两点距离的方法

使用模块geopy.distance.geodesicfrom geopy.distance import geodesiclat1=27.994267lon1=120.699366lat2=39.4704lon2=75.989755print(distance.distance((lat1, lon1), (lat2, lon2)).km) #注意纬度在前精度在后结果:4286.49071110592

2021-10-04 09:08:27 330

原创 git clone报错Failed to connect to github.com port 443: Timed out

问题描述Git clone Failed to connect to github.com port 443: Timed out解决思路这是由于github的服务器在国外,下载速度过慢导致的超时问题。该问题与在github直接下载项目速度太慢属于同一性质。因此,采取相同的解决思路:将仓库上传到gitee,从gitee上clone。因为Gitee是国内服务器,能解决下载速度慢的问题。具体操作1、进入gitee个人主页,导入仓库2、复制仓库url3、通过url导入仓库至gitee.

2021-03-15 09:57:54 1344

原创 selenium+webdriver(chromedriver)安装图文教程

在爬虫过程中,selenium+webdriver组合的方法能有效解决页面动态加载元素难以获取的问题。webdriver是指一个模拟浏览器,常用chromedriver、PhantomJS…但是随着selenium逐渐放弃对PhanthomJS的支持,加入了无头模式的chromedriver变得越来越热门。下面图文介绍一下chromedriver的安装配置方法。

2020-10-23 21:04:46 5465 2

原创 pycharm新建项目环境设置详解

1引言pycharm是当前最热门的python编译器。使用pycharm新建一个python项目时,需要设置项目路径、选择环境或新建环境,初学者往往很难理解这几个概念的区别和关系,就无法对项目结构的透彻理解,从而导致后续的一系列问题。本文环境管理器使用anaconda,尽量使用图文的方式来解释这几个概念和用法。2详解2.1几个概念项目(project):在python中,通常是代码文件(.py)的集合。解释器(interpreter):可以理解为,读懂你的python代码的机器,解释器的类型要与p

2020-10-08 18:22:44 28768 16

原创 selenium+webdriver被反爬识别

使用Selenium+Headless Chrome爬虫,被浏览器识别出是由webdriver控制的表现:webdriver自动打开浏览器,在控制台中输入window.navigator.webdriver,可查看其变量值,若为true,则当前浏览器就是被webdriver打开的。这也是浏览器识别出当前浏览器是否是webdriver控制的标志。解决办法使用js代码,将window.navigator.webdrive的值手动改为undefined要在webdriver打开url之前修改,即在web

2020-10-08 16:06:33 1677 3

原创 已解决:fake-useragent Maximum amount of retries reached

前言fake-useragent是爬虫中伪装useragent参数的常用模块。然而,从中导入UserAgent模块,并对其实例化时ua=UserAgent()会出现错误:fake-useragent Maximum amount of retries reached问题分析进入UserAgent源代码,可以进入setting.py文件,里面包含了fake-useragent在线获取useragent的逻辑。其获取useragent的流程为:在CACHE-SERVER中在线下载包含了userag

2020-09-09 10:12:27 2012 3

原创 踩坑之python读取txt为空白

读取文本文件时,发现读取内容为空,但是确实是有内容的。if os.path.exists('linkedFile/new_urls.txt'): with codecs.open('linkedFile/new_urls.txt','r','utf-8') as f: if len(f.read()) !=0: res_urls=f.readlines() return res_urls查阅资料后,发现需要使用seek方法把读取指

2020-08-28 20:30:01 4479

原创 Numpy进阶小结

Numpy进阶要点总结获取符合条件的索引函数:where([condition])eg. 获得数组[[ 1 2 3 4 5] [ 2 4 6 8 10] [ 3 6 9 12 15]]中大于5的元素的索引。b=array1>5index_gt5=np.where(b)结果:(array([1, 1, 1, 2, 2, 2, 2], dtype=int64), array([2, 3, 4, 1, 2, 3, 4], dtype=int64))结果说明:输出结果是二

2020-08-28 10:29:42 254

原创 Numpy入门小结

numpy数组由列表构建数组import numpy as np np.array(list)构建一维数组 :list1=[1,2,3,4,5]构建二维数组:list1=[1,2,3,4,5]list2=[2,4,6,8,10]list3=[3,6,9,12,15]array1=np.array([list1,list2,list3])list–列表 array–数组注意:数组是引用类型,从现有数组创建新数组操作时,一定要copy()区别:数组是基于

2020-08-28 10:28:55 165

原创 python实现表格外连接

1需求描述在一次数据处理中,需要将900个表格合并成一个表格。每个表格只有两行,第一行是表头(header),第二行是表头的每一项对应的值。这些表格的表头个数和内容都不完全一致,最终的结果表格的表头应当包含所有表格的表头,且不能重复。结果表格的每一行由这900个表格的内容组成,故除表头外,应当有900行。有的表格不一定含有结果表的某一列(表头不一致决定的),那么就取空值(null)。2实现思路2.1pd.merge()根据需求,这是对多张表进行外连接操作。python常用的表格处理库pandas,有

2020-08-24 21:17:48 1811

原创 获取请求中的lxml文本后的清洗步骤

我在一个实验中,需要获得key为list对应的值,值是lxml文本,最后交给beautifulSoup解析,所以对文本格式要求严格。从网页请求中的数据往往是json格式数据。我们通过爬虫获取时,一般不能直接得到原始的json,而是首先得到byte或str再转成dic或json【这里我们不严格比较dic和json的差异了】,进而获得值。这里记录下我的清洗方法。我们直接读取的结果是【省略了很多】:b'{"list":" \\n <div class=\\"ro

2020-08-11 18:01:01 186

原创 pip永久修改镜像源

1引言安装python第三方库最常用的方法就是使用命令pip install +模块名。这个命令默认是在pypi仓库中查找目标模块,由于pypi仓库挂在国外的服务器上,所以下载起来比较慢。那么通过国内的镜像网站下载模块就会快很多,在命令行输入:(以清华大学镜像源为例)pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 模块名==version (version可以省略)这只是临时的方法,下次还要下载模块又要输入这么一大串。我们理想的方

2020-07-29 15:45:06 6267 2

原创 maven安装配置

文章目录1引言2准备3安装4配置本地仓库1引言Maven是一个Java项目构建和管理工具。基于项目对象模型概念(POM),利用一个中央信息片断能管理一个项目。通常两三行代码就能构建、管理一个项目。2准备配置好Java环境3安装安装包地址:http://maven.apache.org/download.cgi1、选个合适的国内镜像源(为了下载加速)2、往下拉普及一下:Binary tar.gz archive-------适用于Linux、MacOsX系统的二进制安装工具。Bin

2020-07-25 17:28:14 340

原创 Maven install修改镜像源加速

1引言作为一个maven使用的小白,发现执行mvn install命令时特别特别慢。经观察,其本质是要远程的网络仓库上下载资源,并且是在国外的服务器上。于是就想,国内是否有镜像呢。找了下,还真有,阿里云一直在维护maven的国内镜像。 下面介绍修改方法。2方法a). 配置只在当前项目生效打开当前项目的pom.xml,找到repositories标签,修改为:<repositories> <repository> <id>ali-maven

2020-07-25 17:04:46 630

原创 Merge Dataframe报错You are trying to merge on object and float64 columns

问题描述将900个csv读取成DataFrame进行Merge操作:import pandas as pddf_pri=pd.read_csv('C:/Users/38266/Desktop/t/csvFile/0.csv')for i in range(1,900): df=pd.read_csv('C:/Users/38266/Desktop/t/csvFile/'+str(i)+'.csv') df_pri = pd.merge(df_pri, df, how='outer'

2020-07-23 17:12:22 3953

原创 新版Edge浏览器主页被锁定的解决办法

问题描述:今天用联想电脑管家更新一下驱动,发现我的浏览器主页(我用的是最新版Chromium内核的Edge浏览器,主页喜欢Bing搜索,我很反感百度搜索)被联想锁定了,被默认百度搜索。我是怎么知道是被联想锁定的呢?打开浏览器,在加载的几秒里,搜索栏出现了短暂的https://discovery.lenovo.com.cn/home/baidu/v2/c2再跳到了百度。看到了lenove,并且刚使用联想管家更新驱动,于是断定是它的问题。(PS:我平时是没有使用某某电脑管家,某某安全卫士的习惯的,我认为这些

2020-06-22 20:40:19 22537 13

原创 office卸载深坑

最近因为操作的意外,office丢失了.dll,导致office 无法正常使用。需要卸载完全后,重新安装。但是试了多款主流卸载软件(geek等),都无法满足要求。官方有个卸载软件应该是有用的,毕竟来自官方(链接),不知什么原因就是无法装上。于是在找到了下面这款,完美卸载。下载链接链接:https://pan.baidu.com/s/19gHHuukTRZGM3PGGl1Ek7g提取码:9pjj...

2020-06-22 17:23:47 374

原创 【bs4爬虫】bs4之HellowWorld

文章目录1安装2解析器2.1安装lxml3使用bs4过滤器3.1实例3.1.1读取3.1.2问题分析3.1.3解决办法方法一:方法二:方法三:3.1.3输出结果4标签定位4.1位置定位4.1.1 默认位置4.1.2通过索引位置查找4.1.3 顾及属性的标签查找5小结1安装为了安装速度,使用国内镜像安装。在Terminal下输入以下代码:pip install beautifulsoup4 -i http://pypi.douban.com/simple/ --trusted-host pypi.

2020-06-12 18:17:16 143

原创 本地部署Arcgis API for Javascript

本地部署Arcgis API for Javascript1.获得JS APIArcgis API for Javascript 或其他Arcgis开发相关API都可以在esri developer官网下载。网站链接:https://developers.arcgis.com/downloads/未登录的会提示登录,根据步骤注册一个Arcgis Online账号登录即可。下拉框中选择Arcgis API for Javascript,出现所有版本,选择一个版本下载。右边API指下载API

2020-06-12 18:15:55 1051

原创 矢量线八方向和全方向栅格化算法C#实现

文章目录引言1算法1.1矢量点的栅格化1.1.1思想1.1.2算法实现1.2矢量线的栅格化1.2.1八方向栅格化思想算法流程算法实现1.2.2 全路径矢量化思想算法流程算法实现2实验结果2.1八方向栅格化结果2.2全路径栅格化结果小结引言矢量数据结构和栅格数据结构的相互转换,是地理信息系统的常用功能。其中,矢量线转栅格的两种算法较为基础且常用,八方向栅格化和全方向栅格化。本文介绍这两种算法的思想、流程和使用C#语言实现。1算法1.1矢量点的栅格化在介绍线的栅格化之前,先看点,因为点的栅格化是线的栅

2020-06-12 18:13:51 4867 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除