3分钟用Python3快速爬取网页数据存入MySQL

Python语言越来越火热,动手写了一个爬虫,爬取网贷之家的一些消息,当然这个同样适用你需要爬取的其他感兴趣的网站,已经一些不正经的用途,哈哈,下面开始讲一讲我爬取的demo:https://github.com/zlf88757/wdzjNews

用到的电脑环境是Mac OSX10.13.6

用到的工具:
1、pycharm 编写Python
2、Navicat 查看MySQL的数据库

需要提前安装好Python3、scrapy的库以及本地MySQL数据库等一些提前量,熟悉一些xpath的语法

接下来就是新建项目

首先:(在终端中输入操作)

$ scrapy startproject xxx

终端中提示信息如下:
New Scrapy project 'xxx', using template directory '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/scrapy/templates/project', created in:
/Users/aaa/xxx

You can start your first spider with:
cd xxx
scrapy genspider example example.com

其次:

用pycharm打开上面的项目
新建spider文件,用pycharm查看

$ cd xxx/xxx/spiders/

$ scrapy genspider xxx_spider xxx.com

终端中提示信息如下:
Created spider 'xxx_spider' using template 'basic' in module:
xxx.spiders.xxx_spider

然后:

新建main.py执行终端操作(详细可查看demo)
from scrapy import cmdline
cmdline.execute('scrapy crawl xxx_spider'.split())

四、明确目标

在 items.py (就是一般程序中的model数据源模型类)
xxx = scrapy.Field()
xxx = scrapy.Field()

五、制作爬虫

class xxxSpiderSpider(scrapy.Spider):
# 爬虫名字
name = 'xxx_spider'
# 允许域名
allowed_domains = ['movie.xxx.com']
# 入口URL 扔到调度器里面
start_urls = ['https://xxxx.com/xxx']

def parse(self, response):
    # 数据解析
    print(response.text)

六、数据解析:

数据解析重点在于如何匹配HTML中的内容,有三种方法:第一,正则表达式。第二,xpath。第三,beautifulsoup
首先,正则表达式容错率很低。其次,xpath通俗易懂,Chrome工具有直接copy xpath选项,方便快捷。最后,beautifulsoup语法也比较简便,效率比较xpath略低。
xpath详细参考另外文章

最后,附上程序的一个缩略图和数据库缩略图


数据库缩略图.png
爬虫缩略图.png

你可能感兴趣的:(3分钟用Python3快速爬取网页数据存入MySQL)