zoukankan      html  css  js  c++  java
  • python爬虫循环导入MySql数据库

    1、开发环境

       操作系统:win10    Python 版本:Python 3.5.2   MySQL:5.5.53

    2、用到的模块

      

      没有的话使用pip进行安装:pip install xxx    xxx需要安装的模块

    3、分析链接(博客官网:https://www.cnblogs.com/)

                这里我们简单分析首页部分

                   

                经分析首页的分页系统链接变量是最后一个数字,所以可将访问的链接写成如下模式,这样执行的时候加个循环就能访问需要访问的所有页面内容

    4、分析页面内容

          整个页面 咱们需要的信息是博主所发博客的信息,例如:

               

          精确的的说是需要提取博客的标题,简介,发布时间以及博客链接

          找到此页面按f12来审查元素

               

          鼠标点下此箭头,然后放到页面内容上,找到咱们所查找的元素,在下面代码部分会出现相应的html:

            

         鼠标右键,选择copy element,可将这块信息复制到文本,找个文本文档保存下来如下部分代码:

            

        这个内容包含一个博客所有信息,接下来用正则提取我们需要的内容即可

    5、正则表达式

           title= re.compile('<a class="titlelnk.*?>(.*?)</a>',re.S)

           title1= re.findall(title,html)

           html是整个网页所有代码文档,这两行代码就将这个网页里面所有博客标题存入title1列表里面

           其中<a class="titlelnk.*?>(.*?)</a>是匹配到所有class为titlelnk的a标签,(.*?)是咱们提取的内容

    6、链接数据库

          db = pymysql.connect("127.0.0.1","root","root","crawler",charset="utf8")#打开数据链接,

          pymysql.connect()里面前四个参数我就不多说了,charset="utf8"这个参数可省只是确保编码正确,不然有些环境下无法插入数据

          cursor cursor = db.cursor()# 使用 cursor() 方法创建一个游标对象 

    7、MYSQL插入语句

         

    8、整理代码       

           

    原理、代码都在这个,想提取所要内容,分析网站即可,当然并不是所有网站都能爬,特殊网站具有反爬措施,需要学习更多知识(访问频率控制,代理IP池等等)

          

       

  • 相关阅读:
    DPDK — 网卡初始化流程(Intel 82599 ixgbe 网卡驱动示例)
    leetcode 3. 无重复字符的最长子串
    20193120 实验四 Python综合实践
    hadoop常用的端口号
    Django学习笔记
    ORACLE EBS AP invoice 到付款的数据流
    EBS 系统标准职责定义MAP
    Advanced Pricing
    Oracle Advanced Pricing White Papers
    增加AP INVOICE 行&分配行
  • 原文地址:https://www.cnblogs.com/chu03/p/7819464.html
Copyright © 2011-2022 走看看