![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
legendary_Dragon
学不可以已
展开
-
Sublime去掉换行添加引号
有些场景需要把一列数据转化为一个列表打开sublime–>>ctrl+h(调出替换的工具)–>>如下图所示原创 2020-11-04 10:53:54 · 559 阅读 · 0 评论 -
xpath定位相邻的前N位或者后N位元素
# 前一位:../div[@="class"]/preceding-sibling::div[1]# 后一位:../div[@="class"]/following-sibling::div[1]# 前N位:../div[@="class"]/preceding-sibling::div[N]# 后N位:../div[@="class"]/following-sibling::d...原创 2019-11-05 10:25:37 · 1090 阅读 · 0 评论 -
Python:key没有引号的字符串如何转json
如果一个字符串是如下类型的,直接用json.loads()import jsonmsg = "{'name': 'CP', 'id': '', 'pageno': 1}"dic = json.loads(msg)如果字符串的key值没有引号,用demjson.decode()import demjsonmsg = "{name: 'CP', id: '', pageno: 1}"d...原创 2019-09-03 11:10:18 · 3977 阅读 · 1 评论 -
用xpath判断网页上的某个字段是否存在
数据采集时,多个同类型网页上字段种类、数量可能不一致。有时需要我们判断该字段是否在网页上,使用xpath可以用标签包含某个文本的方式。部分代码如下:在不知道Checks for plagiarism字段是否存在的情况下,可以用try: pq = doc.xpath("//p[contains(text(),'Checks for plagiarism')]")[0]except Exce...原创 2019-05-30 14:24:58 · 4842 阅读 · 0 评论 -
爬虫如何规避掉DDOS的页面停留五秒后显示
写爬虫的时候,经常会遇到防DDOS攻击的网站,需要在页面停留几秒后,才能正确打开首页。本来我是用的chromedriver的headless模式,但是因为要打开一个真实的浏览器,这种做法非常的消耗资源。后来,使用V8引擎调用javascript发现也不能很好的解决我的问题,最后在github上发现了cloudflare-scrape项目,可以成功规避掉DDOS的问题。最后附上项目的github...原创 2018-12-10 10:56:25 · 4833 阅读 · 0 评论 -
xpath匹配父标签下的最后一个标签(相同父标签下子标签个数不一致的情况)
有时候,相同的父节点下面的标签个数不一致,一个父节点下面是两个标签,另一个父节点下面是三个标签。但是我们又想要把只有两个标签的父节点也记为三个子节点,并且把它最后一个节点的值记为None。可通过伪造的第三个标签和第二个标签比较,判断是不是应该为None。如果子节点的标签也不一致,可以如下方式,这种情况比较少见://div[contains(@class, 'tv')]/child::node...原创 2018-12-04 16:34:16 · 4888 阅读 · 0 评论 -
Scrapy 的headers中cookie不生效的问题
scrapy的cookie不生效,需要在项目的settings文件中修改# Disable cookies (enabled by default) .COOKIES_ENABLED = False这样你spiders中的cookie才会生效原创 2018-07-28 13:44:55 · 2330 阅读 · 0 评论 -
Python 在mysql数据库中插入空值
Python中没有NULL,只有None,操作mysql数据库时,当某个值为空,不能使用下列插入语句# 错误案例a = Nonecursor = db.cursor()sql = "INSERT INTO 表名 VALUES ('%s')" % acursor.execute(sql)db.commit()应该使用下列这种方式操作# 正确案例a = Nonecur...原创 2018-07-27 21:18:59 · 16671 阅读 · 6 评论 -
用xpath获取指定标签下的所有text
今天用xpath获取的元素下面text 是被几个b标签分割开的,我想要一次性全部获取,参考了其他人的博客是如下的做法:value_ls = html.xpath("//tr/td[7]")value = value_ls[0].xpath('string(.)').extract()[0]但是因为我用的是 lxml, 系统报错,lxml元素没有extract() 这个方法,去掉这个方...原创 2018-08-04 16:08:50 · 13884 阅读 · 5 评论 -
Scrapy如何获取返回的headers里面的多个Set-Cookie
爬虫有时候需要先拿到cookie, 然后再用cookie去访问其他页面。当遇到返回的response的headers中包含多个Set-Cookie时,如何获取呢? 如果直接用requests模块:#获取响应的cookie html = requests.get(url,headers=Head,verify=False,timeout=maxExcuteTime) ...原创 2018-07-30 16:38:46 · 7578 阅读 · 0 评论 -
Python 项目依赖模块管理(自动生成requirements.txt和安装)
首先,建议初学者每个项目用单独的env,否则用这种方式收集依赖会把你本地的所有模块版本都导出来,env的创建,我上一个帖子有。 1. 导出env中的模块到requirements.txtpip freeze > requirements.txt2.安装已有requirements.txt的项目依赖pip install -r requirements.txt第一个命...原创 2018-07-21 14:54:47 · 3187 阅读 · 0 评论 -
Python创建虚拟环境(Windows and Linux)virtualenv
1.Window 下创建envvirtualenv -p D:\...python.exe +环境名称2.Linux下的env下载sudo apt-get install python-virtualenv3.Linux创建env# 我用的是Python3virtualenv -p /usr/bin/python3 环境名称4.进入虚拟环境source...原创 2018-07-21 13:54:52 · 345 阅读 · 0 评论 -
如何安装Python的yaml包(windows 和 Linux)
windows:pip install pyyamlLinux:sudo apt-get install python-yamlsudo yum install python-yaml希望可以帮到你!!!原创 2018-07-05 15:33:09 · 60981 阅读 · 1 评论 -
Python字典中的键映射多个值(列表或者集合)
一个字典就是一个键对应一个单值的映射。如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面。比如,你可以像下面这样构造这样的字典:d = { 'a' : [1, 2, 3], 'b' : [4, 5]}e = { 'a' : {1, 2, 3}, 'b' : {4, 5}}选择使用列表还是集合取决于你的实际需求...转载 2018-07-02 16:55:12 · 26413 阅读 · 0 评论 -
No matching distribution found for create_connection(Python-websocket问题解决方案)
当在服务器上使用python-websocket的create_connection时,可能会弹出上述问题,此时需要安装pip3 install websocket-client希望可以帮助到你!!!原创 2018-06-29 18:38:17 · 6065 阅读 · 0 评论