重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
(以下资料都已打包,如果有需要的朋友可以转发 私信我“1”,即可免费领取)
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了靖边免费建站欢迎大家使用!
1、python系统的思维导图 ,一套全面的python学习路线,包含pythonweb+python爬虫+python自动化+python数据分析:
2、python入门全套视频教程:
3、python电子书籍:
《python入门到精通》这本书籍豆瓣评分9.1分,这个推荐初学者一定要学一下。
4、python开发工具
5、python学习笔记
6、python爬虫的学习资料
以上这些教程我已经为大家打包准备好了,希望对正在学习的你有所帮助!(需要的朋友可以转发 私信我“1”,即可免费领取)
Web开发:最火的Python Web框架Django,支持异步高并发的Tornado框架,短小精悍的flask,bootle,Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率Web框架)。
网络编程:支持高并发的Twisted网络框架,py3引入的asyncio使异步编程变得非常简单。
爬虫:在爬虫领域,Python几乎是霸主地位,Scrapy、Request、BeautifuSoap、urllib等,想爬什么爬什么。
云计算:目前最火的知名的云计算框架是OpenStack,Python现在的火爆,很大一部分就是因为云计算。
人工智能/数据分析:Python是目前公认的人工智能和数据分析领域的首选语言。
自动化运维:问问中国运维人员,运维人员必须会什么语言?十分之九的人会回答Python。
不仅这些,Python还可以做的事情有很多,比如金融分析,Python是金融分析、量化交易领域使用最多的编程语言;科学计算,Python越来越适用于科学计算、绘制高质量的2D和3D图像。
此外,现在很多公司都在使用Python,比如谷歌,Google APP Engine、Google earth、谷歌爬虫等,都在大量使用Python开发;NASA,大量使用Python进行数据分析和运算;YouTube,世界上最大的视频网站YouTube就是用Python开发的;Redhat,世界上最流行的Linux发行版本中的yum包管理工具就是用Python开发的。远不止这些,还有国内的豆瓣、知乎、春雨医生、腾讯、搜狐、百度、阿里等公司都在使用Python完成各种任务。
Sublime是一款轻量文本编辑工具,可以用来快速编写python脚本,这里就不多作介绍,详情自己百度。本期所需的工具包是selenium,用户需要自行安装,可以通过pip命令快速安装selenium,如下:
因为本人先前已经成功安装selenium,所以这里提示“已经安装成功”,当然要使用pip命令,必须提前安装pip,自行百度,用户安装完上面的所有工具后我们就可以开始本期的装逼之旅了。
第一步、查看网页,确定抓取范围。我们打开阿里巴巴采购首页,我们发现阿里巴巴提供了厂商的搜索接口,如下所示:
第二步、我们试着搜索“化工”,查看得到的结果,如下:
第三步、我们可以看到,我们要的基本信息都存在了,但是联系方式没有,我们任意打开一个厂商的页面,可以看到“联系”这个导航栏项目,点击联系,就可以看到厂商的联系方式,我们在将注意力放到网址url上,我们可以看到,联系这个页面的URL呈现规律性,如,并且联系电话的位置是最前的,这极大地方便了我们采集我们想要的信息,如下:
第四步、啰嗦了那么多,直接开始我们的代码:
首先使用python的selenium包打开一个Firefox浏览器窗口:
1
2
3
4
5
6
7
8
9
#! /usr/bin/env python
#coding:utf-8
from selenium import webdriver
import sys
# 解决中文报错的问题
reload(sys)
sys.setdefaultencoding('utf-8')
driver = webdriver.Firefox()
以上程序就可以打开Firefox浏览器窗口,并且打开的浏览器窗口对象为driver,接下来我们模拟登录,找到阿里巴巴模拟登录的地址为,我们通这个地址模拟登录,并通过selenium的find_element_by_name方法获取网页中的DOM节点,有学过JavaScript的同学应该就会了解DOM节点,具体的代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
url = '
k.635.1998096057.d1'
loginUrl = 't=trueredirect_url=
3Dlogin_target_is_blank_1688%26tracelog%3Dmember_signout_signin_s_reg'
driver = webdriver.Firefox()
time.sleep(3)
driver.get(loginUrl)
time.sleep(5)
driver.find_element_by_name("TPL_username").send_keys('这里是你的淘宝账号')
driver.find_element_by_name("TPL_password").send_keys('这里是你的淘宝密码')
driver.find_element_by_name("TPL_password").send_keys(Keys.ENTER)
time.sleep(5)
driver.get(url)
模拟登录成功后我们让页面自动跳转到我们刚才搜索“化工”厂商的那个页面,其中使用了time包里的sleep函数,是为了防止在网速较差的时候,网页加载速度较慢,源码还未下载完毕就执行查找节点的命令导致程序运行失败。接下来我们要做的是查找厂商的主页并找到其联系方式,并且发现厂商找到的结果共有100页,在这里,为了使用方便,我们直接使用for循环来模拟点击下一页进行采集。具体的所有源代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#! /usr/bin/env python
#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
import urllib
import urllib2
import sys
import os
import re
import csv
import numpy as np
# 解决中文报错的问题
reload(sys)
sys.setdefaultencoding('utf-8')
csvfile = file('data.csv', 'wb')
writer = csv.writer(csvfile)
writer.writerow((u'企业名称'.encode('gbk'), u'主页'.encode('gbk'), u'产品'.encode('gbk')
, u'联系人'.encode('gbk'), u'电话'.encode('gbk'), u'地址'.encode('gbk')))
url = '
635.1998096057.d1'
loginUrl = '
full_redirect=trueredirect_url=
_is_blank_1688%26tracelog%3Dmember_signout_signin_s_reg'
driver = webdriver.Firefox()
time.sleep(3)
driver.get(loginUrl)
time.sleep(5)
driver.find_element_by_name("TPL_username").send_keys('这里输入你的淘宝账号')
driver.find_element_by_name("TPL_password").send_keys('这里输入你的淘宝密码')
driver.find_element_by_name("TPL_password").send_keys(Keys.ENTER)
time.sleep(5)
driver.get(url)
time.sleep(15)
user_agents = [
'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.
0.0.11',
'Opera/9.25 (Windows NT 5.1; U; en)',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR
2.0.50727)',
'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-se
curity Firefox/1.5.0.12',
'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9',
"Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chr
omium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7",
"Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 ",
]
for page in xrange(1, 100):
try:
title = driver.find_elements_by_css_selector("a[class=list-item-title-text]")
product = driver.find_elements_by_xpath("//div[@class=\"list-item-detail\"]/div[1]
/div[1]/a[1]")
print len(title)
pattern = re.compile('div class="contcat-desc".*?(.*?)/div', re.S)
telPattern = re.compile('dd(.*?)/dd', re.S)
membernamePattern = re.compile('a.*?class="membername".*?(.*?)/a', re.S)
addressPattern = re.compile('"address"(.*?)/dd', re.S)
for i in xrange(len(title)):
titleValue = title[i].get_attribute('title')
hrefValue = title[i].get_attribute('href') + 'page/contactinfo.htm'
productValue = product[i].text
agent = np.random.choice(user_agents)
headers = {'User-Agent' : agent, 'Accept' : '*/*', 'Referer' : ''}
request = urllib2.Request(hrefValue, headers=headers)
response = urllib2.urlopen(request)
html = response.read()
info = re.findall(pattern, html)
try:
info = info[0]
except Exception, e:
continue
tel = re.findall(telPattern, info)
try:
tel = tel[0]
tel = tel.strip()
tel = tel.replace(' ', '-')
except Exception, e:
continue
membername = re.findall(membernamePattern, html)
try:
membername = membername[0]
membername = membername.strip()
except Exception, e:
continue
address = re.findall(addressPattern, html)
try:
address = address[0]
address = address.strip()
except Exception, e:
address = ''
print 'tel:' + tel
print 'membername:' + membername
data = (titleValue.encode('gbk', 'ignore'), title[i].get_attribute('href'), pr
oductValue.encode('gbk', 'ignore'), membername, tel, address)
writer.writerow(data)
for t in title:
print t.get_attribute('title')
print t.get_attribute('href') + 'page/contactinfo.htm'
print len(product)
for p in product:
a = repr(p.text)
a = a.encode('gbk', 'ignore')
print a
print '#' * 50
js = 'var q=document.documentElement.scrollTop=30000'
driver.execute_script(js)
time.sleep(2)
page = driver.find_elements_by_css_selector("a[class=page-next]")
page = page[0]
page.click()
time.sleep(10)
except Exception, e:
print 'error'
continue
csvfile.close()
driver.close()
python作为当下最热门的计算机编程语言之一,是许多互联网大厂(如阿里腾讯等)在招聘时会作出要求的能力之一。学好python对于将来大数据方向、云计算方向等物联网时代新兴岗位的学习很有帮助。
想要学习Python,需要掌握的内容还是比较多的,对于自学的同学来说会有一些难度,不推荐自学能力差的人。我们将学习的过程划分为4个阶段,每个阶段学习对应的内容,具体的学习顺序如下:
Python学习顺序:
①Python软件开发基础
掌握计算机的构成和工作原理
会使用Linux常用工具
熟练使用Docker的基本命令
建立Python开发环境,并使用print输出
使用Python完成字符串的各种操作
使用Python re模块进行程序设计
使用Python创建文件、访问、删除文件
掌握import 语句、From…import 语句、From…import* 语句、方法的引用、Python中的包
②Python软件开发进阶
能够使用Python面向对象方法开发软件
能够自己建立数据库,表,并进行基本数据库操作
掌握非关系数据库MongoDB的使用,掌握Redis开发
能够独立完成TCP/UDP服务端客户端软件开发,能够实现ftp、http服务器,开发邮件软件
能开发多进程、多线程软件
③Python全栈式WEB工程师
能够独立完成后端软件开发,深入理解Python开发后端的精髓
能够独立完成前端软件开发,并和后端结合,熟练掌握使用Python进行全站Web开发的技巧
④Python多领域开发
能够使用Python熟练编写爬虫软件
能够熟练使用Python库进行数据分析
招聘网站Python招聘职位数据爬取分析
掌握使用Python开源人工智能框架进行人工智能软件开发、语音识别、人脸识别
掌握基本设计模式、常用算法
掌握软件工程、项目管理、项目文档、软件测试调优的基本方法
想要系统学习,你可以考察对比一下开设有IT专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能,南京北大青鸟、中博软件学院、南京课工场等都是不错的选择,建议实地考察对比一下。
祝你学有所成,望采纳。
请点击输入图片描述
python3.8输入i文本可以使用的是python的内置函数input()函数阿里输入文本,input函数是标准输入中为我们拿到的值是一个字符串,那么也就是说,无论我们的初衷是得到一个整数、小数或者其他的值,input都会在我们的输入的值的左右两边加上一个引号(“”),也就是说对于我们拿到的东西,我们使用做后期的加工的
考到二级,Python二级全称为全国计算二级Python语言程序设计,是全国计算机二级考试的其中一类,考试成绩合格之后便会拥有一份国家二级证书。目前含金量比较高的Python证书是1.阿里python工程师实习证书。2.腾讯python工程师实习证书。3.字节python工程师实习证书。4.美团python工程师实习证书,毕竟做项目的硬技术比证书更重要。