Python3.x整體知識介紹—撩妹大法

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) #設置延時

效果入下圖所示:


在這里插入圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • title: python高級進階 參考文獻 https://pythonguidecn.readthedocs....
    采香行處蹙連錢閱讀 2,709評論 1 5
  • Web UI測試自動化 splinter - web UI測試工具,基于selnium封裝。 selenium -...
    Thea0216閱讀 6,472評論 2 48
  • # Python 資源大全中文版 我想很多程序員應該記得 GitHub 上有一個 Awesome - XXX 系列...
    小邁克閱讀 3,127評論 1 3
  • 剛剛看到朋友發(fā)的一段話,乍看貌似很對的樣子。。。 我給粘過來大家瞧瞧是不是這回事: 人靜時,躺下來仔細想想,人...
    老鶴家的笑容閱讀 371評論 0 0
  • 今天過得不算太充實,也有一早起來把昨天計劃否定的時候,于是盤旋新的計劃,這樣很浪費時間,之前我學過時間管理,我應該...
    Cindy_eb25閱讀 147評論 0 0

友情鏈接更多精彩內(nèi)容