Python3.x整体知识介绍—撩妹大法
说明:下面关于Python的介绍都是基于window系统
一.什么是Python
简介:Python是一种解释型,动态数据类型,面向对象高级设计语言;Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。
版本:目前Python主要版本分为2.x和3.x这两个大版本,而对于Python2.x的支持止于2020,什么意思呢?就是2020年之后,不再维护Python2.x,大家伙用Pyhon3.x版本的吧;
版本区别:2.x和3.x的区别主要在于语法方面,对编程语言处理字符串类型和整理之前的代码库(清理冗余)等;例如print方法,代码如下
#1.语法方面不同
#第一种:python2.x
print "hello,python"
#第二种:python 3.x
print("hello,python3.x") #第一种写法在python3.x的解释器中会报错
作用:“我是谁?”,“我是Python,有名的胶水。没有什么不会的”。例如:爬虫、web开发、客户端开发、小工具开发、等等;
二.工欲善其事必先利其器
1.Python解释器
任何高级语言都不能在系统上直接运行,都需要编译器/解释器进行编译/解释,电脑才能识别;Python是解释型高级语言,所以在系统上运行就需要安装Python解释器了;
Python解释器官网下载地址:https://www.python.org/downloads/windows/
注意:下载Python3.x的版本,具体安装步骤直接略过了,一般直接下一步就OK了。不懂就要百度了;
安装完毕之后就需要检测下有没有成功,运行window系统的命令行工具cmd;输入Python就能进入Python解释型交互界面。那恭喜你安装成功了;如图所示:
2.Python编辑器
最好用的莫过于pycharm这款编辑器。代码跳转、智能提示、自动完成、版本控制等功能大大提高开发效率;不过对于初学者不建议使用PyCharm,太强大的编辑器让你懒得动手写代码了;作为初学者还需将代码一个一个敲出来,加深理解;“要练其功,苦练内功”。等达到一定水平,上手PyCharm编辑器。在这推荐微软的VSCode编辑器;自行百度安装~
三.Python的基本语法
网上一搜一大片Python基础教程,在这我就不过多介绍;注意一点:别看错版本了。建议看Python3.x的基础教程;
网址推荐:http://www.runoob.com/python3/python3-tutorial.html
在这解释下python3的虚拟环境venv
什么是虚拟环境:
要认识虚拟环境,就先认识下虚拟机,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。“完全隔离环境”是虚拟机/虚拟环境的核心,为了防止包/模块之间的污染;网吧里有包厢座位和大众座位,在包厢环境能够隔离其他人的干扰,自己也不能干扰到其他人;
Python3中怎样使用虚拟环境
在某项目目录下面执行python -m venv venv_name命令,就能在该目录下创建名为venv_name的虚拟环境文件夹;那怎样进入呢?window系统在刚刚的cmd中输入venv_name\Scripts\activate命令就能直接进入虚拟环境了;如图所示:
创建并准备进入虚拟环境
成功进入虚拟环境
四.该是时候开开眼界了
1.小小爬虫解放你的双手
#以下属于简单的爬虫程序,只爬取某网站的文字内容,比写入data.txt文件中
#复制点的爬虫需要讲究并发性和反爬虫机制,有兴许的可以先自行了解下
#日后篇章会介绍爬虫的并发性和反爬虫机制
import requests
from bs4 import BeautifulSoup
def GetPostHttp(urlStr): #设置HTTP请求
if urlStr == "" or urlStr == None:
print("GetPostHttp()参数地址有误!")
return False
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36'
}
response=requests.get(urlStr,headers=headers)
response.encoding = 'utf-8' #解决返回数据编码问题
dict={
'status':False,
'res_html':''
}
if response.status_code == 200: #200表示请求成功
dict['status']=True
dict['res_html']=response.text
else:
dict['status']=False
return dict
def ParseHtmlStr(dict): #解析获取到的HTML字符串
soup=None
if dict['status']:
soup=BeautifulSoup(dict['res_html'], 'lxml')
if soup != None:
div_ele=soup.find_all("div",{"class":'editor'})[0]
p_ele=div_ele.find_all("p")
file=open("data.txt","a+",encoding="utf-8")
for item in p_ele:
file.write(item.text+"\r\n")
file.close()
urlStr="http://www.shuoshuokong.com/xinqing/4996.html"
ParseHtmlStr(GetPostHttp(urlStr))
2.使用微信机器人修炼撩妹大法
先来个AI核心代码自动回复
import itchat
import re
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
msgstr=re.sub('吗','',msg['Content'])
msgstr=re.sub(r'(\?|?)','',msgstr)
msgstr=re.sub('你','我',msgstr)
return msgstr
if __name__ == "__main__":
itchat.auto_login()
itchat.run()
重点来了,摆好小板凳,学习撩妹
# -*- coding: UTF-8 -*-
import itchat
import requests
from bs4 import BeautifulSoup
import schedule,time,re
data_list=[]
index=0
author = None
def GetPostHttp(urlStr): #设置HTTP请求
if urlStr == "" or urlStr == None:
print("GetPostHttp()参数地址有误!")
return False
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36'
}
response=requests.get(urlStr,headers=headers)
response.encoding = 'utf-8' #解决返回数据编码问题
dict={
'status':False,
'res_html':''
}
if response.status_code == 200: #200表示请求成功
dict['status']=True
dict['res_html']=response.text
else:
dict['status']=False
return dict
def ParseHtmlStr(dict): #解析获取到的HTML字符串,并存储数据为data_list
soup=None
if dict['status']:
soup=BeautifulSoup(dict['res_html'], 'lxml')
if soup != None:
div_ele=soup.find_all("div",{"class":'editor'})[0]
p_ele=div_ele.find_all("p")
for item in p_ele:
data_list.append(item.text)
del data_list[0] #清除第一条标题数据
data_list.remove("")
def send_data(): #发送信息
global index
str=data_list[index]
str=re.sub(r'(^\d+)、',"",str)
itchat.send(str,toUserName=author['UserName'])
index=index+1
if __name__ == "__main__":
itchat.auto_login(hotReload=True)
author=itchat.search_friends(name="程新坤")[0]
urlStr = "http://www.binzz.com/yulu2/116437.html"
ParseHtmlStr(GetPostHttp(urlStr))
#设置定时任务,每天早上5:21定时发送
schedule.every().days.at("05:21").do(send_data)
while True: #循环效果
schedule.run_pending()
time.sleep(1) #设置延时
效果入下图所示: