知识点:
- requests
- css选择器
第三方库:
- requests >>> pip install requests
- parsel >>> pip install parsel
- pdfkit >>> pip install pdfkit
开发环境:
- 版 本:anaconda5.2.0(python3.6.5)
- 编辑器:pycharm (安装包/安装教程/激活码/使用教程/插件[翻译插件/主题/汉化包])
- 软件环境: wkhtmltopdf 把html文件转成pdf
本节课上课流程思路:
一. 数据来源分析
确定要爬目标: 文档内容
这些文档数据内容是可以从哪里获取的
分析数据的过程:
鼠标右键点击检查或者F12 打开开发者工具 选择 network
通过开发者工具进行搜索(相关一些数据) 虽然返回数据 (字体编码)
搜索没有返回数据 可以查看本身网址发送请求 服务器返回的数据内容
分析多个文章的url地址区别 请求url地址情况
二. 代码实现过程
- 发送请求, 对于文章列表页面发送请求
- 获取数据, 获取网页源代码
- 解析数据, 提取文章url地址或者文章标题
- 发送请求, 对于文章详情页url地址发送请求
- 获取数据, 获取网页源代码
- 解析数据, 提取文章内容
- 保存数据, 保存成html文件内容
- 保存PDF, 需要把html文件转成PDF文件内容
- 多页爬取
代码
# 导入模块
import requests # 数据请求模块 第三方模块 pip install requests 在CMD里面即可安装
import parsel # 数据解析模块 第三方模块 pip install parsel
import os # 文件操作模块 内置模块
import pdfkit
# 1. 发送请求, 对于文章列表页面发送请求
# 请求url地址
url = 'https://www.chinawenwang.com/zlist-55-1.html'
# 携带请求头参数 headers 请求头是字典类型 键值对形式 一个关键字对应值 中间是用:隔开的
# User-Agent 浏览器的基本信息
# 请求头是为了把python代码伪装成浏览器对于服务器发送请求 (披着羊皮狼)
headers = {
'User-Agent': 'Mozilla/