python爬蟲循環導入MySql數據庫
1、開發環境
操作系統:win10 Python 版本:Python 3.5.2 MySQL:5.5.53
2、用到的模塊
沒有的話使用pip進行安裝:pip install xxx xxx需要安裝的模塊
3、分析鏈接(博客官網:https://www.cnblogs.com/)
這裏我們簡單分析首頁部分
經分析首頁的分頁系統鏈接變量是最後一個數字,所以可將訪問的鏈接寫成如下模式,這樣執行的時候加個循環就能訪問需要訪問的所有頁面內容
4、分析頁面內容
整個頁面 咱們需要的信息是博主所發博客的信息,例如:
精確的的說是需要提取博客的標題,簡介,發布時間以及博客鏈接
找到此頁面按f12來審查元素
鼠標點下此箭頭,然後放到頁面內容上,找到咱們所查找的元素,在下面代碼部分會出現相應的html:
鼠標右鍵,選擇copy element,可將這塊信息復制到文本,找個文本文檔保存下來如下部分代碼:
這個內容包含一個博客所有信息,接下來用正則提取我們需要的內容即可
5、正則表達式
title= re.compile(‘<a class="titlelnk.*?>(.*?)</a>‘,re.S)
title1= re.findall(title,html)
html是整個網頁所有代碼文檔,這兩行代碼就將這個網頁裏面所有博客標題存入title1列表裏面
其中<a class="titlelnk.*?>(.*?)</a>是匹配到所有class為titlelnk的a標簽,(.*?)是咱們提取的內容
6、鏈接數據庫
db = pymysql.connect("127.0.0.1","root","root","crawler",charset="utf8")#打開數據鏈接,
pymysql.connect()裏面前四個參數我就不多說了,charset="utf8"這個參數可省只是確保編碼正確,不然有些環境下無法插入數據
cursor cursor = db.cursor()# 使用 cursor() 方法創建一個遊標對象
7、MYSQL插入語句
8、整理代碼
原理、代碼都在這個,想提取所要內容,分析網站即可,當然並不是所有網站都能爬,特殊網站具有反爬措施,需要學習更多知識(訪問頻率控制,代理IP池等等)
python爬蟲循環導入MySql數據庫