天天看点

Python如何实现简单爬虫?-- coding: UTF-8 --初始化方法基础信息设置,拼合 url基础url链接获取 html获取内容并写入库获取拼合后的url链接连接数据库数据库地址初始化调用方法

前段时间将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

获取内容并写入库

获取拼合后的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)           

连接数据库

数据库地址

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 + '------> 写入失败')           

初始化调用方法

继续阅读