第一篇博客里答应的,第二篇会用
pymysql
直接将数据存入 MySQL 数据库。
代码部分只注释了数据库操作的部分,爬虫部分有时间会补上。
网易科技频道 以独特视角呈现科技圈内大事小事,内容包括互联网、IT业界、通信、趋势、科技访谈等。
下面以 网易科技-智能 首页为例,爬取文章的【链接–标题–发布时间–作者来源–具体内容】等信息并存入MySQL:
网页分析
按【F12】键进入谷歌浏览器开发者工具,查看 Network – All:
点击【加载更多】按钮则出现第二个 smart_datalist.js ,对比观察 URL 的不同可直接构造用于翻页。
smart_datalist.js
中的内容包含 json 格式的数据:
后续再逐一访问每篇文章的 docurl ,获取全文即可。
安装配置 MySQL
网上教程很多,请自行百度或Google。
完整代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
爬取【网易科技-智能】频道首页的【今日热点】文章,并存入MySQL数据库
@Update: 2019-03-20
@Author: Newyee
@Python: 3.6.5
@MySQL : 8.0
"""
import requests
from lxml import etree
import re
import time
import pymysql
headers = {
'User-Agent': 'Mozilla/5.0 (Windows x86; rv:19.0) Gecko/20100101 Firefox/19.0'}
pattern = re.compile(r' {20}(原标题.*)\n {16}') # 用于删除文章开头的“原标题”内容
def get_html(url):
try:
r = requests.get(url, headers=headers)
r.raise_for_status(</