Python如何實現簡單爬蟲?

前段時間將python的基礎寫在了頭條號裏面,最近一段時間在研究前端知識和laravel框架,把python的代碼放了,今天不忙寫了一個簡單的爬蟲。下面是代碼(基於3.7版本):

python實現簡單爬蟲

Python

-- 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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章