python爬虫
python最近几年蛮火的,占据了各个技术论坛的很多篇幅,闲来没事自己下载安装搞搞,python的下载安装大家可以自己百度自己安装一下,python2和python3的语法等还是有很大的区别的比如请求组件urllib request和输出print需要带括号等,我的版本是3.6python的安装目录看了一下里面还是有很多工具啊组件啊DLL拓展啥的还是蛮丰富的,安装完成后去 命令 python
我的开发工具是 JetBrains PyCharm Community Edition 2018.2.1 x64
下载安装大家可以去自己搞一下;
python 可以做很多东西:web开发;爬虫;大数据(数据分析);人工智能(机器学习,这个我不太懂太高大上了);
那下面我就简单介绍一下python的爬虫,我也我抄袭网上别人的,自己练练手(基础语法基本都练习过了);
1.先来个最简单的 抓取网页的源代码
#coding:utf-8 #import urllib # 多行注释 获取页面源代码 import urllib.request page = urllib.request.urlopen('http://www.baidu.com')#打开网页 htmlcode = page.read()#读取页面源码 print(htmlcode) #在控制台输出
里面的用到的类库及函数等,请大家自行百度一下,编辑工具里运行结果是:
D:\python>python test5.py
2. 再来一个稍微稍微高级一丁点的:抓取贴吧里的图片并保存至本机D盘Temp目录下, 代码如下
#抓取网页 图片并保存 import re import urllib.request # ------ 获取网页源代码的方法 --- def getHtml(url): page = urllib.request.urlopen(url) html = page.read() return html # ------ getHtml()内输入任意帖子的URL ------ html = getHtml("https://tieba.baidu.com/p/5352556650") # ------ 修改html对象内的字符编码为UTF-8 ------ html = html.decode('UTF-8') # ------ 获取帖子内所有图片地址的方法 ------ def getImg(html): # ------ 利用正则表达式匹配网页内容找到图片地址 ------ reg = r'src="([.*\S]*\.jpg)"' imgre = re.compile(reg); imglist = re.findall(imgre, html) return imglist imgList = getImg(html) imgName = 0 for imgPath in imgList: # ------ 这里最好使用异常处理及多线程编程方式 ------ try: f = open('D:\\Temp\\'+ str(imgName)+".jpg", 'wb') f.write((urllib.request.urlopen(imgPath)).read()) print(imgPath) f.close() except Exception as e: print(imgPath+" error") imgName += 1 print("All Done!")
运行结果如下:
D盘的Temp目录下: 多出了几十张照片
代码里面还有涉及到 正则匹配和循环等
---- python 还是蛮有意思的的吧-------
3. 再来个简单的 计算长方形的面积
def area(width,height): return width * height def print_welcome(name): print("welcome",name) print_welcome("Runoob") w = 4 h = 5 print("width =", w, " height =", h, " area =", area(w, h))
D:\python>python test4.py 运行结果如下:
4. 最后一个 让python链接Mysql 数据库,这个我们需要安装pymysql组件,大家可以自己下载安装;开启mysql服务
# 链接mysql数据库 # !/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "", "test") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print ("Database version : %s " % data) # 关闭数据库连接 db.close()
运行结果:数据库版本是
// 创建一张表
#!/usr/bin/python3
import pymysql # 创建数据表 # 打开数据库连接 db = pymysql.connect("localhost", "root", "", "test") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE1") # 使用预处理语句创建表 sql = """CREATE TABLE EMPLOYEE1 ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) # 关闭数据库连接 db.close()
// 今天先到这里,大家可以下载安装一下玩玩,蛮有意思的风格个PHP很像,很喜欢!