python实现简单爬虫

发布时间:2019-11-13 20:18:23 浏览量:1030 标签: python 爬虫

前段时间将python的基础写在了头条号里面,最近一段时间在研究前端知识和laravel框架,把python的代码放了,今天不忙写了一个简单的爬虫。下面是代码(基于3.7版本):

7b91894c40e5b6fd2c422e8312f33a68.jpg

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



评论
登录后才可以进行评论哦! QQ登录
验证码
评论内容