专栏首页小白程序猿python实现简单爬虫

python实现简单爬虫

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【概率论】深度学习必懂的13种概率分布

    作为AI从业者,你需要知道概率分布相关的知识。这里有一份最常见的基本概率分布教程,大多数和使用 python 库进行深度学习有关。

    zenRRan
  • 如何做到DevOps工程师的职业转换[DevOps]

    无论是应届大学毕业生还是经验丰富的IT专业人员,都可以通过这些技巧来帮助被聘为DevOps工程师。

    yyx
  • 卷积是怎么【卷】的

    现在人工智能很火,但是它的数学门槛让很多人都望而却步,今天这篇文章就以很通俗的语言来讲解了卷积,希望对大家有所帮助。

    用户1260737
  • 「玩转树莓派」为女朋友打造一款智能语音闹钟

    最近在做智慧工厂相关的工作,多多少少了解了一点物联网相关的技术。于是心血来潮,寻思自己可以做点什么,恰巧之前听说过一些树莓派的传闻,于是就有了这么一款闹钟。

    小柒2012
  • 很火的深度学习框架PyTorch怎么用?手把手带你安装配置

    PyTorch是Facebook团队于2017年1月发布的一个深度学习框架,虽然晚于TensorFlow、Keras等框架,但自发布之日起,其关注度就在不断上升...

    CDA数据分析师
  • 「玩转树莓派」搭建智能家居远程监控系统

    前几天,在食堂吃饭,本来每天中午的新闻三十分换成了视频监控。我们已经习惯了,前十分钟看着领导都很忙,中间十分钟中国人民都很幸福,后十分钟别的国家都生活在水深火热...

    小柒2012
  • MySQL按天,按周,按月,按时间段统计

    自己做过MySQL按天,按周,按月,按时间段统计,但是不怎么满意,后来找到这位大神的博客,转载一下,谢谢这位博主的分享

    似水的流年
  • python之XML文件解析

    常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同。

    风之随想
  • “摸得着”的接口自动化

    做接口自动化的同学,基本都会追求结果可视化、项目可持续集成。小编这里就从开头写起,从一个接口测试脚本封装成一个自动化case,最后搭起接口自动化整体的框架。

    用户5521279
  • 工控安全入门之攻与防

    2010 年 6 月,一个名为 Stuxnet处于休眠状态的病毒潜伏在伊朗的铀浓缩设施网络中,Stuxnet在位于纳坦兹的离心机中被激活,控制了30%的纳坦兹设...

    FB客服

扫码关注云+社区

领取腾讯云代金券