初探python,這個文章屬於自己的乙個總結。所以教程面向新手,無技術含量。
python環境linux基本都有,windows下官網也提供了便利的安裝包,怎麼安裝配置網上有很多教程在此就不一一說明。
我使用的python版本為python 3.6.4,後面的**也是基於python3的。
做乙個小爬蟲離不開獲取網頁內容和匹配儲存內容,那麼我們先裝上python爬蟲的老朋友requests:
pip install requests
再裝上pymysql擴充套件,方便將匹配到的內容插入到mysql資料庫中:
pip install pymysql
在python中有意思的是你需要什麼,就去import什麼,不像php一樣獲取網頁內容直接來個file_get_contents
完事兒
廢話不多說,貼出**來看一下:
# -*- coding:utf-8 -*-
# 載入 requests 模組
import requests
# get方式獲取 response 物件
response = requests.get('')
if response:
# 輸出html**到控制台
print(response.text)
else:
# 輸出錯誤資訊
print('requests error')
在python中縮排一定要嚴格,初學者(4個空格為語句塊縮排)經常犯的錯誤是tab鍵和空間鍵混用,造成的縮排不一致。凡是報錯資訊看到:indentationerror: unexpected indent ,就是表示縮排不一致。
如果本身沒有編碼基礎,那麼我推薦你看一下python的基本概念:
如果已經有了編碼基礎但對縮排這方面沒有深究,可以看python的縮排規範:
好,寫完**之後我們拿到控制台試一下,完美輸出html**
既然能夠獲取html**,那我們就要找出需要的部分,這就用上了正則。python 自1.5版本起增加了 re 模組,它提供 perl 風格的正規表示式模式。具體細節可以在菜鳥教程中檢視:
話不多說再貼**:
# -*- coding:utf-8 -*-
# 載入 requests 模組
import requests
# 載入 re 模組
import re
response = requests.get('')
# 正則匹配文字
match = re.findall(r'([\s\s]*?)
', response.text)
if match:
# 輸出匹配的內容到控制台
print(match[0])
else:
# 輸出html**到控制台
首先我們把資料庫和表做好,可以用sql語句建立:
create database if not exists `sentence`;
use `sentence`;
create table if not exists `***y` (
`id` int(11) not null auto_increment,
`content` varchar(50) not null,
`datetime` timestamp null default current_timestamp on update current_timestamp,
primary key (`id`),
unique key `content` (`content`)
) engine=myisam default charset=utf8;
這裡將content設定為了unique key,是為了保證抓取到的內容不重複,如果有已存在的值便直接跳過
# -*- coding:utf-8 -*-
# 載入 requests 模組
import requests
# 載入 re 模組
import re
# 載入 pymysql 模組
import pymysql
# 開啟資料庫連線
db = pymysql.connect('127.0.0.1', 'root', 'root', 'sentence', charset='utf8')
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
#死迴圈到天長地久
while(true):
response = requests.get('')
# 正則匹配文字
match = re.findall(r'([\s\s]*?)
', response.text)
if match:
sql = "insert into `***y` (`content`) values ('%s')" % (match[0])
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# 如果發生錯誤則回滾
db.rollback()
# 輸出sql語句到控制台
print(sql)
else:
# 輸出html**到控制台
print(response.text)
執行演示:
資料庫內容:
python是個好東西,萬物based on python。
感覺教程貼比較難寫,每個地方都有細節,但如果講細了文章又太繁瑣,若簡單些不好取捨初學者又看不懂什麼意思,向那些寫易懂的入門教程文章的作者致敬。
注:由於原**不方便公布,**中的**全部替換為了***.com。
原始碼在github中:
歡迎star
python 使用python做乙個簡單爬蟲
爬蟲的步驟如下 1.獲取資料 2.篩選資料 3.儲存資料 4.顯示資料 在這裡我們主要使用urllib2庫來對網頁進行爬取,本次我們爬取的參考 是 我們可以觀察內容 發現正文的內容都在這個標籤內,所以我們可以通過正則篩選出內容 正則內容如下 pattern re.compile r re.s 然後再...
用Python做乙個久坐提醒小助手
不論是日常的工作還是學習,現代年輕人在電腦螢幕時長資料能讓人驚掉下巴,繼而引發一系列身體不適的現象。小李也是久坐族中的一員,為了時刻提醒自己起來活動活動,我開發了一款基於pythongui程式設計的久坐提醒小助手。整體的構思類似於乙個番茄時鐘,提供乙個倒計時功能並且在完成計時時發出警告。主要分為如下...
python 做乙個簡單的計算器
def jisuanqi 實現加減乘除運算 a,b,c shuru if c z a b print s s 的和為 s a,b,z elif c z a b print s s 的差為 s a,b,z elif c z a b print s s 的積為 s a,b,z elif c z a b ...