网易Python爬虫:爬取网易科技频道文章存入MySQL数据库

本文介绍了如何使用Python爬虫抓取网易科技频道的【链接-标题-发布时间-作者来源-具体内容】等信息,并将其存储到MySQL数据库中。通过网页分析,发现了翻页和获取文章详情的机制。虽然遇到部分文章全文获取不全的问题,但提供了完整的代码和运行结果作为参考。
摘要由CSDN通过智能技术生成

第一篇博客里答应的,第二篇会用 pymysql 直接将数据存入 MySQL 数据库。
代码部分只注释了数据库操作的部分,爬虫部分有时间会补上。


网易科技频道 以独特视角呈现科技圈内大事小事,内容包括互联网、IT业界、通信、趋势、科技访谈等。
下面以 网易科技-智能 首页为例,爬取文章的【链接–标题–发布时间–作者来源–具体内容】等信息并存入MySQL:

网页分析

按【F12】键进入谷歌浏览器开发者工具,查看 Network – All
Request URL
点击【加载更多】按钮则出现第二个 smart_datalist.js ,对比观察 URL 的不同可直接构造用于翻页。
smart_datalist.js 中的内容包含 json 格式的数据:
json data
后续再逐一访问每篇文章的 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(</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值