python实现简单爬虫

  • 2019 年 12 月 27 日
  • 筆記

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