python3scrapymysql的简单介绍

发布时间:2022-11-21

本文目录一览:

  1. scrapy-redis到底需要怎样部署啊?分别应该安装什么软件?
  2. python爬虫需要什么基础
  3. python爬虫需要安装哪些库
  4. 从python基础到爬虫的书有什么值得推荐
  5. python爬虫爬下来的数据怎么导入到MySQL

scrapy-redis到底需要怎样部署啊?分别应该安装什么软件?

酷辣虫 CoLaBug
综合技术
Scrapy-redis分布式爬虫+Docker快速部署
简书 简书 2018-07-28 本文共6495个字,预计阅读需要17分钟。 生成海报
微信扫一扫,分享到朋友圈
Scrapy-redis分布式爬虫+Docker快速部署
0 0
Scrapy-redis分布式爬虫+Docker快速部署
打算爬一个网站的数据,量比较大,url链接从0开始达到2亿,刚开始用request递归写了个爬虫,发现速度低的可怜,不算任何的错误,也只能达到0.5秒一个请求,这速度实在不能忍,所以想着用分布式爬虫,所以才有了这篇文章

开发环境+框架、库

开发环境:

  • macOS High Sierra 10.13
  • Python3.5
    开发工具:
  • PyCharm
    Python库:
  • pymysql
  • scrapy
  • scrapy-redis
  • requests
  • BeautifulSoup4
  • redis-py
    运行环境:
  • Centos7.4
  • Centos6.9
  • Docker

开始搭建环境

安装 Python3

  • Windows请自行查找教程安装
  • Mac用户系统自带了 Py2.6,建议升级到 Python3,用 HomeBrew 安装即可
    Homebrew安装命令:
/usr/bin/ruby -e "$(curl -fsSL )"

然后使用:

brew install python

安装成功后再终端输入 python3 查看是否安装成功,如果输入 python 默认使用本机的 py2,当然也可以去配置文件设置一个 alias 将 python 设置成启动 py3
如图安装成功
然后用

easy_install pip

安装 Python 的包管理工具 pip

注意:有的人用的是 Anaconda 作为 py 环境,我刚开始也是用的 Anaconda,但是在 install scrapy-redis 的时候发现无法导入,默认源都没有这个库


python爬虫需要什么基础

网页知识

  • HTML、JS、CSS、XPath这些知识,虽然简单,但一定需要了解。你得知道这些网页是如何构成的,然后才能去分解他们。

HTTP知识

  • 一般爬虫你需要模拟浏览器的操作,才能去获取网页的信息
  • 如果有些网站需要登录,才能获取更多的资料,你得去登录,你得把登录的账号密码进行提交
  • 有些网站登录后需要保存cookie信息才能继续获取更多资料

正则表达式

  • 有了正则表达式才能更好的分割网页信息,获取我们想要的数据,所以正则表达式也是需要了解的。

一些重要的爬虫库

  • url, url2
  • BeautifulSoup

数据库

  • 爬取到的数据我们得有个地方来保存,可以使用文件,也可以使用数据库,这里我会使用 MySQL,还有更适合爬虫的 MongoDB 数据库,以及分布式要用到的 Redis 数据库

爬虫框架

  • PySpider 和 Scrapy 这两个爬虫框架是非常NB的。简单的爬虫可以使用 urllib 与 urllib2 以及正则表达式就能完成,但高级的爬虫还得用这两个框架。这两个框架需要另行安装。后面一起学习。

反爬虫

  • 有时候你的网站数据想禁止别人爬取,可以做一些反爬虫处理操作。打比方百度上就无法去查找淘宝上的数据,这样就避开了搜索引擎的竞争,淘宝就可以搞自己的一套竞价排名。

分布式爬虫

  • 使用多个 Redis 实例来缓存各台主机上爬取的数据。 爬虫要学的东西还是挺多的,想把爬虫玩得666,基本就是这些知识点吧!

python爬虫需要安装哪些库

一、请求库

  1. requests
    requests 类库是第三方库,比 Python 自带的 urllib 类库使用方便。
  2. selenium
    利用它执行浏览器动作,模拟操作。
  3. chromedriver
    安装 chromedriver 来驱动 Chrome。
  4. aiohttp
    aiohttp 是异步请求库,抓取数据时可以提升效率。

二、解析库

  1. lxml
    lxml 是 Python 的一个解析库,支持解析 HTML 和 XML,支持 XPath 的解析方式,而且解析效率非常高。
  2. beautifulsoup4
    Beautiful Soup 可以使用它更方便的从 HTML 文档中提取数据。
  3. pyquery
    pyquery 是一个网页解析库,采用类似 jQuery 的语法来解析 HTML 文档。

三、存储库

  1. MySQL
  2. MongoDB
  3. Redis

四、爬虫框架:Scrapy

Scrapy 是一套异步处理框架,纯 Python 实现的爬虫框架,用来抓取网页内容以及各种图片。 需要先安装 Scrapy 基本依赖库,比如:

  • lxml
  • pyOpenSSL
  • Twisted

从python基础到爬虫的书有什么值得推荐

《Python3爬虫入门到精通课程视频【附软件与资料】【34课时】--崔庆才》百度网盘资源免费下载
链接:
?pwd=zxcv 提取码: zxcv
目录结构:

  • 章节5:分布式篇
  • 章节4:框架篇
  • 章节3:实战篇
  • 章节2:基础篇
  • 章节1:环境配置
  • Python3爬虫课程资料代码.zip
  • 2018-Python3网络爬虫开发实战-崔庆才.pdf
  • 课时06:Python爬虫常用库的安装.zip
  • 课时05:Python多版本共存配置.zip
  • 课时04:MySQL的安装.zip
  • 课时03:Redis环境配置.zip
  • 课时02:MongoDB环境配置.zip
  • 课时01:Python3+Pip环境配置.zip
  • 课时13:Selenium详解.zip

python爬虫爬下来的数据怎么导入到MySQL

下载 mysql.connector 库,然后把爬虫爬到的数据通过 MySQL 的 INSERT 语句插入到数据库中。当然也可以建表,一般我没用 Python 建表,是先建好再写数据的。 示例代码如下:

import mysql.connector
conn = mysql.connector.connect(
    user='root',
    password='root',
    host='127.0.0.1',
    port='3306',
    database='test_demo'
)
cursor = conn.cursor()
cursor.execute("INSERT INTO test_user(`uuid`,`user_name`,`user_level`) VALUES (%s,%s,%s)", [id, user_name, user_level])
cursor.execute("INSERT INTO tieba_user_detail(`user_name`,`user_exp`,`user_sex`,`tieba_age`,`tieba_note`,`user_favorites`,`user_fans`) VALUES (%s,%s,%s,%s,%s,%s,%s)", [user_name, user_exp, user_sex, tieba_age, tieba_note, user_favorites, user_fans])
print('************** %s  %s 数据保存成功 **************' % (user_rank, user_name))
conn.commit()
cursor.close()

插入数据就是这样的。