python主要用来干嘛,第1张

Python适合财务、设计、运营、策划、销售、HR、金融从业者、电商从业者学习,所设计的行业五花八门。

从以上也能看出来,python是很强大的一门语言,可以做:1系统编程;2图形处理;3数学处理;4文本处理;5数据库编程;6网络编程;7Web编程;8多媒体应用;9pymo引擎;10黑客编程;11用Python写简单爬虫;12:人工智能。

1、做日常任务,比如下载视频、MP3、自动化 *** 作excel、自动发邮件。

2、做网站开发、web应用开发,很多著名的网站像知乎、YouTube就是Python写的。

许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

3、做网络游戏的后台,很多在线游戏的后台都是Python开发的。

4、系统网络运维

Linux运维是必须而且一定要掌握Python语言,它可以满足Linux运维工程师的工作需求提升效率,总而提升自己的能力,运维工程师需要自己独立开发一个完整的自动化系统时,这个时候才是真正价值的体现,才能证明自身的能力,让老板重视。

5、3D游戏开发

Python也可以用来做游戏开发,因为它有很好的3D渲染库和游戏开发框架,目前来说就有很多使用Python开发的游戏,如迪斯尼卡通城、黑暗之刃。

6、科学与数字计算

我们都知道现在来临了大数据的时代,数据可以说明一切问题的原因,现在很多做数据分析的不是原来那么简单,Python语言成为了做数据分析师的第一首选,它同时可以给工作带来很大的效率。

7、人工智能

人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。Python语言对于人工智能来说是最好的语言。目前好多人都开始学习人工智能+Python学科。

8、网络爬虫

爬虫是属于运营的比较多的一个场景吧,比如谷歌的爬虫早期就是用跑Python写的 其中有一个库叫 Requests ,这个库是一个模拟>

9、数据分析

一般我们用爬虫爬到了大量的数据之后,我们需要处理数据用来分析,不然爬虫白爬了,我们最终的目的就是分析数据,在这方面 关于数据分析的库也是非常的丰富的,各种图形分析图等 都可以做出来。也是非常的方便,其中诸如Seaborn这样的可视化库,能够仅仅使用一两行就对数据进行绘图,而利用Pandas和numpy、scipy则可以简单地对大量数据进行筛选、回归等计算。

而后续复杂计算中,对接机器学习相关算法,或者提供Web访问接口,或是实现远程调用接口,都非常简单。

Python主要的五大应用介绍:
一、Web开发
Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发。
Python有上百种Web开发框架,有很多成熟的模板技术,选择Python开发Web应用,不但开发效率高,而且运行速度快。
二、网络爬虫
网络爬虫是Python比较常用的一个场景,国际上google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。
如:从各大网站爬取商品折扣信息,比较获取最优选择;对社交网络上发言进行收集分类,生成情绪地图,分析语言习惯;爬取网易云音乐某一类歌曲的所有评论,生成词云;应用实在太多,几乎每个人学习爬虫之后都能够通过爬虫去做一些好玩有趣有用的事。
三、人工智能
人工智能的核心算法大部分还是依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。
而Python是这些库的API binding,使用Python是因为CPython的胶水语言特性,要开发一个其他语言到C/C++的跨语言接口,Python是最容易得,比其他语言的门槛要低不少,尤其是使用Cython的时候。
四、数据分析
数据分析处理方面,Python有很完备的生态环境。“大数据”分析中涉及到的分布式计算、数据可视化、数据库 *** 作等,Python中都有成熟的模块可以选择完成其功能。对于Hadoop-MapReduce和Spark,都可以直接使用Python完成计算逻辑,这无论对于数据科学家还是对于数据工程师而言都是十分便利的。
五、自动化运维
Python对于服务器运维而言也有十分重要的用途。由于目前几乎所有Linux发行版中都自带了Python解释器,使用Python脚本进行批量化的文件部署和运行调整都成了Linux服务器上很不错的选择。

一、什么是Selenium

selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。

selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。

二、selenium基本使用

用python写爬虫的时候,主要用的是selenium的Webdriver,我们可以通过下面的方式先看看SeleniumWebdriver支持哪些浏览器

执行结果如下,从结果中我们也可以看出基本山支持了常见的所有浏览器:

这里要说一下比较重要的PhantomJS,PhantomJS是一个而基于WebKit的服务端JavaScript API,支持Web而不需要浏览器支持,其快速、原生支持各种Web标准:Dom处理,CSS选择器,JSON等等。PhantomJS可以用用于页面自动化、网络监测、网页截屏,以及无界面测试

声明浏览器对象

上面我们知道了selenium支持很多的浏览器,但是如果想要声明并调用浏览器则需要:

from selenium import webdriver
browser = webdriverChrome()
browser = webdriverFirefox()

这里只写了两个例子,当然了其他的支持的浏览器都可以通过这种方式调用

访问页面

from selenium import webdriver
browser = webdriverChrome()
browserget("httiducom")print(browserpage_source)
browserclose()

上述代码运行后,会自动打开Chrome浏览器,并登陆百度打印百度首页的源代码,然后关闭浏览器

查找元素

单个元素查找

from selenium import webdriver
browser = webdriverChrome()
browserget("baocom")
input_first = browserfind_element_by_id("q")
input_second = browserfind_element_by_css_selector("#q")
input_third = browserfind_element_by_xpath('//[@id="q"]')print(input_first)print(input_second)print(input_third)
browserclose()

这里我们通过三种不同的方式去获取响应的元素,第一种是通过id的方式,第二个中是CSS选择器,第三种是xpath选择器,结果都是相同的。
结果如下:

这里列举一下常用的查找元素方法:

find_element_by_name
find_element_by_id
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

下面这种方式是比较通用的一种方式:这里需要记住By模块所以需要导入
from seleniumwebdrivercommonby import By

from selenium import webdriverfrom seleniumwebdrivercommonby import By
browser = webdriverChrome()
browserget("obaocom")
input_first = browserfind_element(ByID,"q")print(input_first)
browserclose()

当然这种方法和上述的方式是通用的,browserfind_element(ByID,"q")这里ByID中的ID可以替换为其他几个

多个元素查找

其实多个元素和单个元素的区别,举个例子:find_elements,单个元素是find_element,其他使用上没什么区别,通过其中的一个例子演示:

from selenium import webdriver
browser = webdriverChrome()
browserget("obaocom")
lis = browserfind_elements_by_css_selector('service-bd li')print(lis)
browserclose()

这样获得就是一个列表

当然上面的方式也是可以通过导入from seleniumwebdrivercommonby import By 这种方式实现

lis = browserfind_elements(ByCSS_SELECTOR,'service-bd li')

同样的在单个元素中查找的方法在多个元素查找中同样存在:
find_elements_by_name
find_elements_by_id
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector

元素交互 *** 作

对于获取的元素调用交互方法

from selenium import webdriverimport time
browser = webdriverChrome()
browserget("baocom")
input_str = browserfind_element_by_id('q')
input_strsend_keys("ipad")
timesleep(1)
input_strclear()
input_strsend_keys("MakBook pro")
button = browserfind_element_by_class_name('btn-search')
buttonclick()

运行的结果可以看出程序会自动打开Chrome浏览器并打开淘宝输入ipad,然后删除,重新输入MakBook pro,并点击搜索

交互动作

将动作附加到动作链中串行执行

from selenium import webdriverfrom seleniumwebdriver import ActionChains
browser = webdriverChrome()
url = "ry/tryphpfilename=jqueryui-api-droppable"browserget(url)
browserswitch_toframe('iframeResult')
source = browserfind_element_by_css_selector('#draggable')
target = browserfind_element_by_css_selector('#droppable')
actions = ActionChains(browser)
actionsdrag_and_drop(source, target)
actionsperform()

执行JavaScript

这是一个非常有用的方法,这里就可以直接调用js方法来实现一些 *** 作,
下面的例子是通过登录知乎然后通过js翻到页面底部,并 *** 框提示

from selenium import webdriver
browser = webdriverChrome()
browserget("ucom/explore")
browserexecute_script('windowscrollTo(0, documentbodyscrollHeight)')
browserexecute_script('alert("To Bottom")')

获取元素属性
get_attribute('class')

from selenium import webdriver
browser = webdriverChrome()
url = 'hihucom/explore'browserget(url)
logo = browserfind_element_by_id('zh-top-link-logo')print(logo)print(logoget_attribute('class'))

获取文本值
text

from selenium import webdriver
browser = webdriverChrome()
url = 'com/explore'browserget(url)
input = browserfind_element_by_class_name('zu-top-add-question')print(inputtext)

获取ID,位置,标签名
id
location
tag_name
size

from selenium import webdriver
browser = webdriverChrome()
url = 'com/explore'browserget(url)
input = browserfind_element_by_class_name('zu-top-add-question')print(inputid)print(inputlocation)print(inputtag_name)print(inputsize)

Frame

在很多网页中都是有Frame标签,所以我们爬取数据的时候就涉及到切入到frame中以及切出来的问题,通过下面的例子演示
这里常用的是switch_tofrom()和switch_toparent_frame()

import timefrom selenium import webdriverfrom seleniumcommonexceptions import NoSuchElementException
browser = webdriverChrome()
url = 'oobcom/try/tryphpfilename=jqueryui-api-droppable'browserget(url)
browserswitch_toframe('iframeResult')
source = browserfind_element_by_css_selector('#draggable')print(source)try:
logo = browserfind_element_by_class_name('logo')except NoSuchElementException:    print('NO LOGO')
browserswitch_toparent_frame()
logo = browserfind_element_by_class_name('logo')print(logo)print(logotext)

等待

当使用了隐式等待执行测试的时候,如果 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常, 换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是0

隐式等待
到了一定的时间发现元素还没有加载,则继续等待我们指定的时间,如果超过了我们指定的时间还没有加载就会抛出异常,如果没有需要等待的时候就已经加载完毕就会立即执行

from selenium import webdriver
browser = webdriverChrome()
browserimplicitly_wait(10)
browserget('com/explore')
input = browserfind_element_by_class_name('zu-top-add-question')print(input)

显示等待

指定一个等待条件,并且指定一个最长等待时间,会在这个时间内进行判断是否满足等待条件,如果成立就会立即返回,如果不成立,就会一直等待,直到等待你指定的最长等待时间,如果还是不满足,就会抛出异常,如果满足了就会正常返回

from selenium import webdriverfrom seleniumwebdrivercommonby import Byfrom seleniumwebdriversupportui import WebDriverWaitfrom seleniumwebdriversupport import expected_conditions as EC
browser = webdriverChrome()
browserget('taobaocom/')
wait = WebDriverWait(browser, 10)
input = waituntil(ECpresence_of_element_located((ByID, 'q')))
button = waituntil(ECelement_to_be_clickable((ByCSS_SELECTOR, 'btn-search')))print(input, button)

上述的例子中的条件:ECpresence_of_element_located()是确认元素是否已经出现了
ECelement_to_be_clickable()是确认元素是否是可点击的

常用的判断条件:
title_is 标题是某内容
title_contains 标题包含某内容
presence_of_element_located 元素加载出,传入定位元组,如(ByID, 'p')
visibility_of_element_located 元素可见,传入定位元组
visibility_of 可见,传入元素对象
presence_of_all_elements_located 所有元素加载出
text_to_be_present_in_element 某个元素文本包含某文字
text_to_be_present_in_element_value 某个元素值包含某文字
frame_to_be_available_and_switch_to_it frame加载并切换
invisibility_of_element_located 元素不可见
element_to_be_clickable 元素可点击
staleness_of 判断一个元素是否仍在DOM,可判断页面是否已经刷新
element_to_be_selected 元素可选择,传元素对象
element_located_to_be_selected 元素可选择,传入定位元组
element_selection_state_to_be 传入元素对象以及状态,相等返回True,否则返回False
element_located_selection_state_to_be 传入定位元组以及状态,相等返回True,否则返回False
alert_is_present 是否出现Alert

浏览器的前进和后退

back()
forward()

import timefrom selenium import webdriver
browser = webdriverChrome()
browserget('wwbaiducom/')
browserget('aobaocom/')
browserget('wwpythonorg/')
browserback()
timesleep(1)
browserforward()
browserclose()

cookie *** 作

get_cookies()
delete_all_cookes()
add_cookie()

from selenium import webdriver
browser = webdriverChrome()
browserget('om/explore')print(browserget_cookies())
browseradd_cookie({'name': 'name', 'domain': '>

选项卡管理

通过执行js命令实现新开选项卡windowopen()
不同的选项卡是存在列表里browserwindow_handles
通过browserwindow_handles[0]就可以 *** 作第一个选项卡

import timefrom selenium import webdriver
browser = webdriverChrome()
browserget('baiducom')
browserexecute_script('windowopen()')print(browserwindow_handles)
browserswitch_to_window(browserwindow_handles[1])
browserget('baocom')
timesleep(1)
browserswitch_to_window(browserwindow_handles[0])
browserget('honorg')

异常处理

这里只进行简单的演示,查找一个不存在的元素

from selenium import webdriverfrom seleniumcommonexceptions import TimeoutException, NoSuchElementException
browser = webdriverChrome()try:
browserget('ducom')except TimeoutException:    print('Time Out')try:
browserfind_element_by_id('hello')except NoSuchElementException:    print('No Element')finally:
browserclose()

所有的努力都值得期许,每一份梦想都应该灌溉!

《Python3爬虫入门到精通课程视频附软件与资料34课时--崔庆才》百度网盘资源免费下载

zxcv

Python3爬虫入门到精通课程视频附软件与资料34课时--崔庆才|章节5: 分布式篇|章节4: 框架篇|章节3: 实战篇|章节2: 基础篇|章节1: 环境配置|Python3爬虫课程资料代码zip|2018-Python3网络爬虫开发实战-崔庆才pdf|课时06:Python爬虫常用库的安装zip|课时05:Python多版本共存配置zip|课时04:MySQL的安装zip|课时03:Redis环境配置zip|课时02:MongoDB环境配置zip|课时01:Python3+Pip环境配置zip|课时13:Selenium详解zip  

1、系统编程:提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具,这也是国外为什么使用者这么多的原因,我们国内很少使用Linux。
2、图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
3、数学处理:NumPy扩展提供大量与许多标准数学库的接口。
4、文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
5、数据库编程:程序员可通过遵循Python DB-API规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
6、网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。
7、Web编程:应用的开发语言,支持最新的XML技术。使用python也可能制作网站哦。
8、多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
9、pymo引擎:这是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python20平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。可以开发一些手机上的软件。
10、黑客编程:python有一个hack的库,可以大大减少编程的工作量,很多本来很复杂的工作,可以很容易实现。

从工作上应用于:Python开发、Python爬虫、大数据;
从生活上,爬虫为我们增添了很多生活乐趣、便利了日常,比如说数据分析、简单地几行代码可以处理上千条Excel数据等等。
Python开发
自动化测试、自动化运维、WEB开发(网站开发)、人工智能都属于Python开发。
自动化测试——用Python编写简单的实现脚本,运用在Selenium/lr中,实现自动化。
自动化运维——Python对于服务器运维很重要。
目前几乎所有Linux发行版中都自带了Python解释器,以使用Python脚本进行批量化的文件部署,和运行调整~
而且Python提供了全方位的工具集合,结合Web,开发方便运维的工具会变得十分简单。
WEB开发——Python最火的WEB开发框架Django在业界非常流行,其中的设计哲学也常用于其它程序语言设计的框架~
如果是网站后端,使用它单间网站,后台服务比较容易维护。如我们常看到的:Gmail、知乎、豆瓣等~
人工智能更是现在非常火的方向,现在释放出来的几个非常有影响力的AI框架,大多是Python的实现的。
Python爬虫
在当前信息大爆炸时代,大量的信息都通过Web来展示,为了获取这些数据,网络爬虫工程师就应运而生。
不过这可不止我们日常的抓取数据和解析数据那些简单,还能够突破普通网站常见的反爬虫机制,以及更深层次的爬虫采集算法的编写。
大家也可以去网上搜索别人通过爬虫做了什么有趣的事情:
“用Python写的第一个程序,是爬取糗事百科上的、自动下载到本地、自动分成文件夹保存,当时就觉得,卧糟,太NB了~”
“智联招聘爬虫,支持输入查询的职位关键词+城市。并将爬取到的数据分别用Exce和Python(matplotlib)做了数据分析及可视化……”
“尝试爬取京东热卖、淘宝淘抢购(还是聚划算)的商品信息,没想到还挺简单的,主要是没做什么防爬虫措施……”
Python大数据
数据是一个公司的核心资产,从杂乱无章的数据中提取有价值的信息或者规律,成为了数据分析师的首要任务。
Python的工具链为这项繁重的工作提供了极高的效率支持,数据分析建立在爬虫的基础上,我们便捷地爬下海量数据,才能进行分析。

学会python可以做以下工作。

1、Web开发(Python后端)

Python有很多优秀的Web开发框架,如Flask、Django、Bootstar等,可以帮助你快速搭建一个网站。当需要一个新功能时,用Python只需添加几行代码即可,这受到了很多初创型公司的一致欢迎。

像知乎、豆瓣、小米这样的大厂,最早的网站都是用Python搭建的,国外则更多,如YouTube 、Quora、Reddit、Instagram、Netflix等代表地球顶级流量的大站,都构建在Python之上。

平均薪资:15~20K

技能要求:前端基础、Python基础、主流Python Web(Flask、Django等)、数据库等。

2、Python爬虫工程师

顾名思义,就是用Python收集和爬取互联网的信息,也是小伙伴们入坑Python的第一驱动力。靠人力一星期才能完成的工作,你泡着咖啡、跑10分钟爬虫即可,又装X又实用,学会Python爬虫后,即使不做程序员的工作也能加分不少。

平均薪资:15~25K

技能要求:前端基础、Python爬虫库、数据库、JS反爬等

友情提示:注意法律风险

3、Python数据分析师

这个时代,数据和黄金一样宝贵,现在最火的公司如:今日头条、抖音、快手等,产品都建立在对用户的分析之上,更不用说淘宝、京东、拼多多这些 “定制化推荐” 的老手。

可以说,所有的商业公司都需要这样一个角色,Python数据分析师也成了目前最火的职业之一。

Python是目前数据分析业务中,最常用的语言。学会Python后,基本可以满足数据分析经理的招聘需求。

平均薪资:10~25K技能要求:统计学基础、Python的数据分析库(、NumPy、matplolib)、数据库、机器学习框架(高端职位需要)。


DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
乐在赚 » python主要用来干嘛

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情