Python第一个爬虫项目

文章目录

  • 0x00 文章内容
  • 0x01 爬虫博客
          • 1. 爬取网页元素
          • 2. 完整代码
          • 3. 执行前准备工作
          • 4. 执行结果
  • 0x02 简单讲解
  • 0xFF 总结

0x00 文章内容

  1. 爬虫博客
  2. 简单讲解

PS:需安装好Python开发环境,前提教程:Python3的安装(Windows),此外,我的编辑器是pycharm,而且,需要学习一些简单的python和HTML基础。

0x01 爬虫博客

1. 爬取网页元素

网页跳转:旷课小王子的博客园
打开网页,右击,选择 检查 (谷歌浏览器)/按 F12:
Python第一个爬虫项目_第1张图片

2. 完整代码
#!/usr/bin/env python 
# -*- coding:utf-8 -*-
from urllib import request
from pyquery import PyQuery as pq
import json

# 定义需要解析的url
url = 'https://www.cnblogs.com/kkxwz/default.html'

# 获取每个item信息并返回
def parse_item(i, e):
    doc = pq(e)
    title = doc('.postTitle2').text()
    titleLink = doc('.postTitle2').attr('href')
    postFoot = doc('.postfoot').text()
    summary = doc('.c_b_p_desc').text()
    result = {
        'title': title,
        'titleLink': titleLink,
        'postFoot': postFoot,
        'summary': summary
    }
    print(json.dumps(result))
    return result

# 获取url的内容
with request.urlopen(url) as response:
    body = response.read()
    doc = pq(body)
    items = doc('#main>.post').map(parse_item)  #1.定义一个空数组,用于储存提取的结果
    with open('kkblog.json', 'wt', encoding="utf-8") as f: # 2.将结果写入JSON文件
        f.write(json.dumps(items, ensure_ascii=False))
3. 执行前准备工作

a. 需要先安装pyQuery依赖(此步骤为后补上,可忽略截图颜色)
Python第一个爬虫项目_第2张图片

4. 执行结果

a. 执行,然后查看查看执行结果
Python第一个爬虫项目_第3张图片
b. 复制到Json数据在线解析界面查看(点击跳转在线解析Json数据)
Python第一个爬虫项目_第4张图片

0x02 简单讲解

1、竟然要爬取网站的内容,应该先清楚爬的是哪里的,所以必须要知道URL。
2、然后,应该清楚网页的内容结构,了解到什么内容对应哪个标签,我们可以先写好,或者把获取URL内容的步骤完成再回来填充,最好是回头再填充。
3、最后获取URL的内容,分析我们要爬取的标签范围,确定是想获取网页里面的哪些信息,然后再遍历出来即可。

0xFF 总结

  1. 入门级别案例,爬虫界的HelloWorld,还是单页面版本的,后期会进行升级。

作者简介:邵奈一
全栈工程师、市场洞察者、专栏编辑
| 公众号 | 微信 | 微博 | CSDN | 简书 |

福利:
邵奈一的技术博客导航
邵奈一 原创不易,如转载请标明出处。


你可能感兴趣的:(python)