上一节学习了数据清洗如何对内容去重,这一节继续学习一个完整的挖掘系统是怎么构建的,以搜索百度新闻数据为例。
首先要建立评分系统需要创建一个数据表,起名为article吧,
字段如下图:字段有company,title,href,source,date,score
梳理下思路,想清楚我们要干啥,我总结了下步骤,其实就是把前面内容作了一个融合‘合成一个完整的系统’:
1.获取网页源代码
2.编写正则提炼内容 和前面的写法一样,不懂得翻翻前面的代码
3.数据清洗,日期格式的统一处理
4.数据深度清洗,去重及内容替换
5.打印清洗后的数据
6.将数据存入数据库及数据去重
6.1 查询数据,为之后的数据去重做准备
6.2 判断数据是否在原数据库中,不在的话才进行数据存储,article前面新建的表
7.批量爬取多家公司
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/8/8 18:01
# @Author : Jianhua Wang
# @Site :
# @File : 完整的百度新闻数据挖掘系统.py
# @Software: PyCharm
import requests
import re
import pymysql
import time
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
def baidu(company):
# 1.获取网页源代码
url = 'https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd=' + company #其中设置rtt=4则为按时间排序,如果rtt=1则为按焦点排序
res = requests.get(url, headers=headers, timeout=10).text
# 2.编写正则提炼内容 和前面的写法一样,不懂得翻翻前面的代码
p_href = '<h3 class="c-title">.*?<a href="(.*