python2.7导入mysqldb

my噶地~~

学习了一段时间爬虫,了解最基本的模块。要开始连接数据库啦,遇到小问题,随笔mark。

爬虫就是在网页上解析数据,一开始只能爬到pycharm的显示栏,高级一点点的有图形化界面,可以爬取小说、文字、图片、小视频and so on,,

爬虫必备模块之urllib、urllib2、re、beautifulsoup、xpath等等

有些模块是python自带的模块,如urllib、sys、re等等,但是有些模块需要在Dos命令里面进行install,格式"pip install+模块名"

网页分为静态网页和动态网页,两者之间最大的区别大概就是后者需要与服务器进行数据交互,即与数据库有关联。

前两个用来解析网络url,譬如urllib2.openurl("这里放入需要爬取的url"),注意如果openurl()没有得到对应的html,那么恭喜你,你爬的网站做了反爬虫。

这个时候加上headers可以很好地解决这个问题。譬如headers={

‘User-Agent‘:‘这个地方注意去你要爬的网址上面找,F12+F5‘

}

过滤不需要的信息需要用到正则表达式,最基本的re.compile(“html”)是为了防止转义,提高编译效率。

过来不需要的信息可以用re.findall(req,html),这样可以过滤你要的信息啦,比如标题,正文,甚至图片。

最近爬了一个小说网,需要将数据存储到数据库中,一般都是用mysql。python连接数据库需要安装数据库插件python2.x系列的数据库模块叫mysqldb,为了import MySQLdb不报错,可是让我惦记了两天,pip install mysql_python根本行不通!!!安装了好多不必要的插件依旧有问题!!!最好的解决办法如下:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

重要的网站备份三遍!!在里面找到名为"mysql_python-1.2.5-cp27-none-win32.whl"的插件下载,操作如下所示:

!!!专治各种纠结

关于数据库的连接存储,且看下回分解。

最后摆出一个爬取某小说网站的书籍文件,参考学习:

# _*_coding:utf-8 _*_

#爬取小说网站,将数据存入数据库
#author:yangyang
#datetime:2017.6.2

import urllib2,re
import MySQLdb

domain="http://www.quanshu.net"
headers={
    ‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36‘
}
def getTypeList(pn=1):
      req=urllib2.Request(‘http://www.quanshu.net/map/%s.html‘ %pn)
      req.headers=headers #替换所有头信息
      #req.add_header()#添加单个头信息
      res=urllib2.urlopen(req)
      html=res.read().decode(‘gbk‘)#decode解码
      reg=re.compile(r‘<a href="(/book/.*?)" target="_blank">(.*?)</a>‘)
      htmll=re.findall(reg,html)
      return htmll
def getContent(url):
    req=urllib2.Request(domain+url)
    req.headers=headers
    res=urllib2.urlopen(req)
    html=res.read().decode(‘gbk‘)
    reg=r‘<li><a href="(.*?)" title=".*?">(.*?)</a></li>‘
    reg=re.compile(reg)
    return  re.findall(reg,html)

def getNovelcontent(url):
  req=urllib2.Request(domain+url)
  req.headers=headers
  res=urllib2.urlopen(req)
  res=res.read().decode(‘gbk‘)
  reg=r‘style5\(\);</script>(.*?)<script type="text/javascript">style6\(\);‘
  return re.findall(reg,res)[0]

if __name__== ‘__main__‘:
    for type in range(1,10):
        for url,title in getTypeList(type):
             for chapter,ztitle in getContent(url):
                  print u‘正在爬取----------%s‘ %ztitle
                  contenturl= getNovelcontent(url.replace(‘index.html‘,chapter))
时间: 2024-10-07 11:33:12

python2.7导入mysqldb的相关文章

python2.7安装MySQLdb

安装MySQLdb遇到的问题. mac版本号:10.11.6 执行 python2.7 setup.py build 报错: urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> 错误代码是590 网上查到的资料都是说mac电脑同时存在很多个版本的python造成的,有的也说是os系统造成的. 验证阶段: 1.直接使用python set

python2.7之MySQLdb模块 for linux安装

1.下载:MySQL-pythonhttp://sourceforge.net/projects/mysql-python/files/mysql-python-test/1.2.3b1/MySQL-python-1.2.3b1.tar.gz/downloadtar -zxf MySQL-python-1.2.3b1.tar.gzcd MySQL-python-1.2.3b1python setup.py build==>ImportError: No module named setuptoo

Python2 - MySQL适配器 MySQLdb

本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接口,我们可以在python中连接MySQLdb来实现数据的各种操作. python连接mysql的方案有oursql.PyMySQL. myconnpy.MySQL Connector 等,不过本篇要说的确是另外一个类库MySQLdb,MySQLdb 是用于Python链接Mysql数据库的接口,它

ubuntu14.04 python2.7安装MySQLdb

安装依赖: sudo apt-get install libmysqlclient-dev libmysqld-dev python-dev python-setuptools 安装MySQLdb pip install MySQL-python conn = mdb.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='test', charset='utf8') config = { 'host': '127

win10用python2.7安装MySQLdb

1.系统是win10 2.python版本2.7 3.已经安装好pip 4.先去http://www.lfd.uci.edu/~gohlke/pythonlibs/下载相对应whl 5.下载好后,去到下载的路径,最好放在python/Scripts/下,用cmd切换到该目录下 6.运行命令pip install (下载的名字) 7.运行python 8.import MySQLdb 9.成功

windows环境python2.7安装MySQLdb

我电脑是64位,并且安装python不是默认路径,使用pip和mysql-python的exe文件安装都失败了. 后在网上找到一种安装方法,记录下. 确保安装了wheel,我的2.7默认安装了 pip install wheel 去这个网站查找whl格式的MYSQL-python http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python 下载对应版本我的是 MySQL_python?1.2.5?cp27?none?win_amd64.whl

已经装了MySQL-python,但在引用时报错:ImportError: No module named MySQLdb

导入MySQLdb模块的时候报错,如下 >>> import MySQLdb Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named MySQLdb 在网上找了一个解决方法: yum install MySQL-python  (centos系统) 再次导入的时候还是报错,怀疑是版本问题: $ pyth

Centos6.5 python2.7连接mysql数据库

1.环境是centos6.5 32位系统,python版本是2.7.12,mysql版本是5.5.22.准备好所需压缩包,MySQL-python-1.2.4b4.tar.gz  pip-6.0.7.tar.gz         setuptools-12.0.3 2.用python操作mysql首先需要导入MySQLdb模块,在安装这个模块之前最后安装好setuptools和pip,在这之前需要安装好zlib zlib-devel模块. #yum install -y zlib-devel b

Mac安装mysqldb

一. 安装mysql (一)下载地址 https://pan.baidu.com/s/1slw50LZ 安装成功后,在系统偏好设置里有MySQL图标,可以启动或关闭MySQL 二. Mysql root用户密码重置 如果安装时生成的默认密码不可用,可以重置密码,步骤如下: 1.停止mysql服务 系统偏好设置 > MySQL > 停止. 2.启动mysqld_safe ,跳过启动授权表.启动时加上skip-grant-tables参数目的是在启动mysql时不启动grant-tables,授权