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

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