pycharm

Python最简单的图片爬虫,20行代码带你爬遍整个网站

房东的猫 提交于 2020-07-28 06:08:03
前言 网络上的信息很多,有的时候我们需要关键字搜索才可以快速方便的找到我们需要的信息。今天我们实现搜索关键字爬取堆糖网上相关的美图,零基础学会通用爬虫,当然我们还可以实现多线程爬虫,加快爬虫爬取速度 环境: windows pycharm python3 导入模块 import urllib.parse import json import requests import jsonpath 确定目标网址 url = ' https://www.duitang.com/napi/blog/list/by_search/?kw={}&start={} ' 分析网站,确定爬取目标 label = ' 美女 ' label = urllib.parse.quote(label) 发送请求,提取数据 num = 0 for index in range(0,2400,24 ): u = url.format(label,index) we_data = requests.get(u).text 类型转换 html = json.loads(we_data) photo = jsonpath.jsonpath(html, " $..path " ) 保存数据 for i in photo: a = requests.get(i) with open(r ' C:\Users

pycharm应用

旧街凉风 提交于 2020-07-27 10:42:37
1、代码格式化(CTRL+ATL+L): 2、代码检查: 3、pylint 4、圈复杂度检查 来源: oschina 链接: https://my.oschina.net/mengyoufengyu/blog/4275210

python入门之爬虫篇 爬取图片,文章,网页

有些话、适合烂在心里 提交于 2020-07-27 07:19:28
一,首先看看Python是如何简单的爬取网页的 1,准备工作 项目用的BeautifulSoup4和chardet模块属于三方扩展包,如果没有请自行pip安装,我是用pycharm来做的安装,下面简单讲下用pycharm安装chardet和BeautifulSoup4 在pycharm的设置里按照下图的步骤操作 如下图搜索你要的扩展类库,如我们这里需要安装chardet直接搜索就行,然后点击install package, BeautifulSoup4做一样的操作就行 安装成功后就会出现在在安装列表中,到此就说明我们安装网络爬虫扩展库成功 二,由浅入深,我们先抓取网页 我们这里以抓取简书首页为例:http://www.jianshu.com/ 由于抓取的html文档比较长,这里简单贴出来一部分给大家看下 1.<!DOCTYPE html> 2.<!--[if IE 6]><html class="ie lt-ie8"><![endif]--> 3.<!--[if IE 7]><html class="ie lt-ie8"><![endif]--> 4.<!--[if IE 8]><html class="ie ie8"><![endif]--> 5.<!--[if IE 9]><html class="ie ie9"><![endif]--> 6.<!--[if !IE]><!--

因为一个变量命名的关系中断了一个while 循环

假装没事ソ 提交于 2020-07-27 07:19:10
因为一个变量命名的关系中断了一个while 循环,有点意思,什么原因? IDE:  Pycharm Community Edition 一、变量命名为 input , 中断了while 循环,不能循环提示输入: def isNum(x): if isinstance(x,int): return True elif isinstance(x,float): return True elif isinstance(x,complex): return True else: return False while True: try: input = eval(input("please input a data:")) except: continue if isNum(input): print('true') else: print('false') 输出:    please input a data:abc please input a data:1 true 二、变量命名改为 value , 有效while 循环能循环提示输入: def isNum(x): if isinstance(x,int): return True elif isinstance(x,float): return True elif isinstance(x,complex): return True

接口自动化测试框架 -- reudom

一曲冷凌霜 提交于 2020-07-27 06:07:50
reudom Automated testing framework based on requests and unittest interface. 基于 Unittest 和 Requests 的 接口自动化测试框架 介绍 基于Unittest/Requests的接口自动化测试库 提供脚手架,快速生成接口自动化测试项目。 自动生成HTML测试报告。 支持用例参数化。 支持用例失败重跑 对原生Requests库API无损 加入我们。群。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!有技术大牛解惑,同行一起交流 目录架构 myreudom/ ├── test_case/ │ ├── test_sample.py ├── reports/ └── run.py   test_dir/ reports/ run.py   安装教程 > pip install reudom If you want to keep up with the latest version, you can install with github repository url:     > pip install -U git+https://github.com/SeldomQA/reudom.git@master   创建项目 >reudom -

Web自动化测试:switch_to包详解:切换handle、frame、alert

风流意气都作罢 提交于 2020-07-26 18:00:20
之前章节,分别对窗口切换(handle)、frame切换、弹窗(alert)切换做了详细的解释,但是我们在写代码的时候发现,这些方法都被编辑器划伤了一条横线,但是方法还是可以正常使用,只是目前的pycharm不推荐你继续这样使用了(有新的方法可以替代它),那如果我们不使用这些方法的话,我们该怎么去完成切换窗口、frame这些操作呢?所以我们来学习一下替代这几个方法的switch_to包。 一、switch_to包的方法详解 在switch_to的基础上,有这么几个方法,鉴于基本上都是之前曾经讲过的,这次把等价的方法也列出来,供大家参考 driver.switch_to.parent_frame() 这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用 案例展示: 163邮箱登录的例子来用新的switch_to方法写一下,并通过观察,我们发现进入这个页面后焦点直接就定位到输入框里了,所以我们可以通过active_element()来定位。 from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 进入163邮箱首页 driver.get(" http://mail.163.com/ ") sleep(2) #

Python探索之旅 | 第一部分第三课:初识Python的解释器

柔情痞子 提交于 2020-07-25 09:26:34
作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。 转载请注明出处。 原文: https://www.jianshu.com/p/a34eaffcc420 《Python探索之旅》 全系列 内容简介 前言 Python 的解释器 Python 解释器的种类 做一点数学运算 总结 第一部分第三课预告 1. 前言 上一课是 Python探索之旅 | 第一部分第二课:安装Python和Python的常用开发软件 。 经过第一课的理论概念和第二课的 Python 开发环境安装之后,我们是时候来了解一下 Python 的解释器了。 即使这一课的一些小测试看似没什么了不起的,但你却可以借此对 Python 的语法有一个初步概念。我强烈建议你循序渐进地跟着我们动手练习,尤其是如果 Python 是你的第一门编程语言的话。 和任何编程语言一样,Python 具有清晰的语法:你不能随便向 Python 发送任何信息。我们将看到 Python 可以接收什么,不可以接收什么。 2. Python 的解释器 上一课,我们在最后用 PyCharm 创建了一个 Python 的项目,并且创建了我们的第一个 Python 文件( hello_python.py ),然后用项目配置的 Python 解释器(就是我们安装的 Python 中自带的解释器。例如我们上一课在 Windows 中安装的

Pycharm无法安装第三方库,错误代码Non-zero exit code (1) 的解决方案之pip升级

时光怂恿深爱的人放手 提交于 2020-07-25 03:41:27
软件测试,B站爱码小哥邀你同行! 进入主题 问题场景:在pycharm进行安装某些库,install失败,提示需要升级pip ,报错界面问题如下错误代码Non-zero exit code 大致意思是安装失败,建议的解决方案:尝试从系统终端运行此命令。确保使用正确的'pip'版本,该版本已为位于如下地址: 1 'F:\python3\python_code\venv\Scripts\python.exe' .    查看报错我们知道了大概的原因,好我们来看看如何解决,先说问题所在,这是一个主要是通过一个py模块升级pip的问题. 解决方案 - 进入我们上述提示去升级pip的路径,该路径是我们安装python之后创建项目会生成 通过 pip -V 来查看是否是pip最新版 看到目录里有这个文件吗,我们就用的它来升级pip到最新 我们可以看到easy_install pip命令执行完毕 然后开始升级:-i 后面是清华的源,保证速度,再看pip版本, 已经更新了 1 pip install --upgrade pip -i https: //pypi.tuna.tsinghua.edu.cn/simple/    PS:这里还有一种更简洁的方法带给大家 , 不过成功几率并不是很大,但是大家知道的多一点还是可以的,我们可以直接在Pycharm客户端进行如下操作 如果对python自动化测试

pytest——pycharm中右击运行(run)没有问题,在terminal中运行pytest报错:E ModuleNotFoundError: No module named

时光毁灭记忆、已成空白 提交于 2020-07-24 18:46:59
参考了这个解决办法:https://blog.csdn.net/qq_36829091/article/details/82180866 我的是Windows,linux的和Windows的解决办法有些不一样,但也是大同小异,需要改一下环境变量 这是我的文件目录 需要在test_calc.py中导入python_math_demo里的calc,在pycharm中右击运行没有任何问题。 在terminal中运行pytest报错 如果是pycharm的错误或者是导入的错误,不可能一个能运行成功一个运行错误。所以我猜是pycharm的IDE的运行机制和terminal的运行机制不一样才导致这种情况 参考资料所得:https://blog.csdn.net/qq_36829091/article/details/82180866 Python在启动解释器(Interpreter)时 不仅会导入环境变量中 sys.path 发现的模块,还会导入当前工作目录下的模块 。 具体什么事sys.path和当前工作模块,可参考上面的链接。 通过在文件头加上输出环境变量,然后再terminal中运行pytest。运行结果的第一个路径就是当前路径 解决办法: 第一种方法:是在环境变量中加入当前模块路径。(但由于我不喜欢在环境变量中加很多东西,所以就省略了这步) 第二种方法:以下两个命令其中一个就可

Pytest01-环境搭建

烈酒焚心 提交于 2020-07-23 20:14:34
目录 1.环境搭建 1.1 运行环境 1.2 安装pytest 1.3 在PyCharm中设置默认单元测试框架为Pytest 1.4 创建示例测试 1.5 运行测试 1.环境搭建 1.1 运行环境     本机运行环境如下所示: Python: 3.7.6 OS:Windows 10 x64 IDE:PyCharm 2020.1 Pytest:5.4.2 1.2 安装pytest 1、在命令行窗口中执行以下命令 pip install -U pytest 2、在命令行窗口执行以下命令,验证是否安装成功 1.方法一 pytest --version This is pytest version 5.4.2, imported from d:\program files\python\lib\site-packages\pytest\__init__.py 2.方法二 >>> import pytest >>> print(pytest.__version__) 5.4.2 1.3 在PyCharm中设置默认单元测试框架为Pytest File -> Setting... -> Tools -> Python Integrated Tools 在右侧选项中找到 Testing ,修改Default test runner为pytest,详细如下图所示: 1.4 创建示例测试