欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python爬虫

程序员文章站 2022-05-30 10:36:52
...

        python最近几年蛮火的,占据了各个技术论坛的很多篇幅,闲来没事自己下载安装搞搞,python的下载安装大家可以自己百度自己安装一下,python2和python3的语法等还是有很大的区别的比如请求组件urllib request和输出print需要带括号等,我的版本是3.6python的安装目录看了一下里面还是有很多工具啊组件啊DLL拓展啥的还是蛮丰富的,安装完成后去  命令 python
python爬虫
            
    
    博客分类: python编程 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 

python爬虫
            
    
    博客分类: python编程 python学习 

python爬虫
            
    
    博客分类: python编程 python学习 
 

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!")

运行结果如下:
python爬虫
            
    
    博客分类: python编程 python学习 
 D盘的Temp目录下: 多出了几十张照片

python爬虫
            
    
    博客分类: python编程 python学习 
 

代码里面还有涉及到 正则匹配和循环等

----  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    运行结果如下:

python爬虫
            
    
    博客分类: python编程 python学习 
 

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()

 运行结果:数据库版本是
python爬虫
            
    
    博客分类: python编程 python学习 
 // 创建一张表

 #!/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很像,很喜欢!

 

 

  • python爬虫
            
    
    博客分类: python编程 python学习 
  • 大小: 4.4 KB
  • python爬虫
            
    
    博客分类: python编程 python学习 
  • 大小: 10.4 KB
  • python爬虫
            
    
    博客分类: python编程 python学习 
  • 大小: 16.1 KB
  • python爬虫
            
    
    博客分类: python编程 python学习 
  • 大小: 19.9 KB
  • python爬虫
            
    
    博客分类: python编程 python学习 
  • 大小: 56.9 KB
  • python爬虫
            
    
    博客分类: python编程 python学习 
  • 大小: 5.8 KB
  • python爬虫
            
    
    博客分类: python编程 python学习 
  • 大小: 3.3 KB
相关标签: python学习