Python3.x整體知識介紹—撩妹大法
說明:下面關于Python的介紹都是基于window系統(tǒng)
一.什么是Python
簡介:Python是一種解釋型,動態(tài)數(shù)據(jù)類型,面向?qū)ο蟾呒壴O計語言;Python由Guido van Rossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。像Perl語言一樣, Python 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議。
版本:目前Python主要版本分為2.x和3.x這兩個大版本,而對于Python2.x的支持止于2020,什么意思呢?就是2020年之后,不再維護Python2.x,大家伙用Pyhon3.x版本的吧;
版本區(qū)別:2.x和3.x的區(qū)別主要在于語法方面,對編程語言處理字符串類型和整理之前的代碼庫(清理冗余)等;例如print方法,代碼如下
#1.語法方面不同
#第一種:python2.x
print "hello,python"
#第二種:python 3.x
print("hello,python3.x") #第一種寫法在python3.x的解釋器中會報錯
作用:“我是誰?”,“我是Python,有名的膠水。沒有什么不會的”。例如:爬蟲、web開發(fā)、客戶端開發(fā)、小工具開發(fā)、等等;
二.工欲善其事必先利其器
1.Python解釋器
任何高級語言都不能在系統(tǒng)上直接運行,都需要編譯器/解釋器進行編譯/解釋,電腦才能識別;Python是解釋型高級語言,所以在系統(tǒng)上運行就需要安裝Python解釋器了;
Python解釋器官網(wǎng)下載地址:https://www.python.org/downloads/windows/
注意:下載Python3.x的版本,具體安裝步驟直接略過了,一般直接下一步就OK了。不懂就要百度了;
安裝完畢之后就需要檢測下有沒有成功,運行window系統(tǒng)的命令行工具cmd;輸入Python就能進入Python解釋型交互界面。那恭喜你安裝成功了;如圖所示:
2.Python編輯器
最好用的莫過于pycharm這款編輯器。代碼跳轉(zhuǎn)、智能提示、自動完成、版本控制等功能大大提高開發(fā)效率;不過對于初學者不建議使用PyCharm,太強大的編輯器讓你懶得動手寫代碼了;作為初學者還需將代碼一個一個敲出來,加深理解;“要練其功,苦練內(nèi)功”。等達到一定水平,上手PyCharm編輯器。在這推薦微軟的VSCode編輯器;自行百度安裝~
三.Python的基本語法
網(wǎng)上一搜一大片Python基礎教程,在這我就不過多介紹;注意一點:別看錯版本了。建議看Python3.x的基礎教程;
網(wǎng)址推薦:http://www.runoob.com/python3/python3-tutorial.html
在這解釋下python3的虛擬環(huán)境venv
什么是虛擬環(huán)境:
要認識虛擬環(huán)境,就先認識下虛擬機,虛擬機指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個<font style="color:#f00">完全隔離環(huán)境</font>中的完整計算機系統(tǒng)?!巴耆綦x環(huán)境”是虛擬機/虛擬環(huán)境的核心,為了防止包/模塊之間的污染;網(wǎng)吧里有包廂座位和大眾座位,在包廂環(huán)境能夠隔離其他人的干擾,自己也不能干擾到其他人;
Python3中怎樣使用虛擬環(huán)境
在某項目目錄下面執(zhí)行python -m venv venv_name命令,就能在該目錄下創(chuàng)建名為venv_name的虛擬環(huán)境文件夾;那怎樣進入呢?window系統(tǒng)在剛剛的cmd中輸入venv_name\Scripts\activate命令就能直接進入虛擬環(huán)境了;如圖所示:
創(chuàng)建并準備進入虛擬環(huán)境

成功進入虛擬環(huán)境

四.該是時候開開眼界了
1.小小爬蟲解放你的雙手
#以下屬于簡單的爬蟲程序,只爬取某網(wǎng)站的文字內(nèi)容,比寫入data.txt文件中
#復制點的爬蟲需要講究并發(fā)性和反爬蟲機制,有興許的可以先自行了解下
#日后篇章會介紹爬蟲的并發(fā)性和反爬蟲機制
import requests
from bs4 import BeautifulSoup
def GetPostHttp(urlStr): #設置HTTP請求
if urlStr == "" or urlStr == None:
print("GetPostHttp()參數(shù)地址有誤!")
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' #解決返回數(shù)據(jù)編碼問題
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()參數(shù)地址有誤!")
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' #解決返回數(shù)據(jù)編碼問題
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字符串,并存儲數(shù)據(jù)為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] #清除第一條標題數(shù)據(jù)
data_list.remove("")
def send_data(): #發(fā)送信息
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定時發(fā)送
schedule.every().days.at("05:21").do(send_data)
while True: #循環(huán)效果
schedule.run_pending()
time.sleep(1) #設置延時
效果入下圖所示: