• 我的第一个爬虫(爬取糗百的段子)


    #coding=utf8
    
    import requests
    from bs4 import BeautifulSoup
    import os
    import codecs
    import MySQLdb
    
    def mysql(title):
          conn= MySQLdb.connect(
                  host='127.0.0.1',
                  port = 3306,
                  user='root',
                  passwd='',
                  db ='test',
                  charset="utf8",
                  )
          cur = conn.cursor()
    
          sqli="insert into qiubai(text) values(%s)"
          cur.execute(sqli,(title))
          cur.close()
          conn.commit()
          conn.close()
    
    
    def qiushi(url):
          headers = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}
          content = requests.get(url, headers=headers)
          all_a = BeautifulSoup(content.text, 'lxml').find('div', class_='col1').find_all('div', class_='content')
          title_all = []
          for a in all_a:
            title = a.get_text()
     
            title_all.append(title)
          os.chdir("D:mzitu")
          f = open("111.txt", 'a')
          for i in title_all:
                x = i.encode("utf-8")  
                f.write(i.encode('utf-8'))
                f.write("
    ")
                s=mysql(i.encode('utf-8')) ##这句是保存一份到数据库中,如果没配置数据库的话,可以注释掉
                print("已完成下载段子" + i.encode('utf-8'))          
          f.close()
          
    
    
    url = 'http://www.qiushibaike.com/'
    qiushi = qiushi(url)
    

      

    写个这么简答的东西踩的坑有:

    os.chdir("D:mzitu")
    f = open("111.txt", 'a')

    一开始下面写的是D:mzitu.111.txt,拼命的保存,就是看不到数据,我这暴脾气,简直不能忍。

    还有直接打印文本内容会出现乱码 然后type()了一下发现是unicode,要用encode('utf-8')转换一下。

    后面保存到mysql中又出现乱码,还是不一样的乱码,我真是踏马的万马奔腾一马平川的草泥马,后来发现是我建表没设置utf-8编码。

    然后终于完成了这个小小的东西

  • 相关阅读:
    php远程图片抓取存放到本地路径并生成缩略图
    Linux下cron的使用
    centos6.3编译安装Apache2.4.3+PHP5.4.8+Mysql5.5.8
    CentOS 6.3 安装以及配置Apache php mysql
    用avalon和jquery做基础网页导航
    javascrip基本概念(三)
    grunt学习笔记(一)
    前端项目目录管理-部署结构
    javascript基本概念(二)
    avalon学习笔记ui篇-如何将avalon默认的amd模型禁止,以及用require重写。
  • 原文地址:https://www.cnblogs.com/tangbinghaochi/p/6098044.html
Copyright © 2020-2023  润新知