python實現簡單爬蟲
- 2019 年 12 月 27 日
- 筆記
前段時間將python的基礎寫在了頭條號裡面,最近一段時間在研究前端知識和laravel框架,把python的程式碼放了,今天不忙寫了一個簡單的爬蟲。下面是程式碼(基於3.7版本):

# -*- coding: UTF-8 -*- import requests from bs4 import BeautifulSoup import pymysql # 初始化方法 def start_method(): get_url = set_path() print(get_url) # 基礎資訊設置,拼合 url def set_path(): # 基礎url鏈接 base_url = 'http://dl.sll.cn/major/' # 定義鏈接組 url_array = [] # 設置起始點 start_num = 1 # 設置終點 end_num = 10000 # 循環生成url鏈接 for i in range(start_num, end_num): # 拼接完整url url = base_url + str(i) + '.html' url_array.append(url) return url_array # print(url_array) # 獲取 html # 獲取內容並寫入庫 def start(): # 獲取拼合後的url鏈接 url_array = set_path() for url in url_array: # 獲取鏈接的資訊(狀態碼、url、頭資訊、cookie、源碼等) content = requests.get(url) # 設置編碼格式 content.coding = 'UTF-8' # 以文本形式獲取源碼 content_text = content.text # 利用解析器進行解析操作 article = BeautifulSoup(content_text) # 標題 title = article.title.string # 寫入資料庫 mysql_connect(title, url) # 連接資料庫 def mysql_connect(title, url): con = pymysql.connect( # 資料庫地址 host='127.0.0.1', # 埠 port=3306, # 用戶名 user='root', # 密碼 password='shenlin', # 資料庫名稱 database='school', # 編碼設置 charset='utf8' ) # 得到連接游標 connect = con.cursor() # 書寫 SQL 語句 sql = 'INSERT INTO test(title, url) VALUES("%s","%s")' % (title, url) # 執行SQL,並獲取結果 res = connect.execute(sql) # 關閉資料庫連接 connect.close() con.close() if res: print(url + '------> 寫入成功') else: print(url + '------> 寫入失敗') # 初始化調用方法 start()