作为不是计算机专业的人员,自学编程其实并不是一件很方便的事,尤其是身边也没有程序员可以请教的时候,书籍也不都是合适的,这里很感谢庄培杰写作的《Python网络爬虫从入门到实践》,内容通俗易懂。废话不多说,直接上代码吧,注释我已经写的比较详细了。
本次练习是爬取某网站的三国演义,想练习的小伙伴可以试试其他网站的小说。
from urllib import error
from lxml import etree
import urllib.request
import urllib.parse
import lxml.html
import time
import random
import os
import urllib
#需要爬取的小说网站的网址,即基础链接
novel_base_url = '5000yan.com/'
#使用urlunparse函数拼出新链接,构造出具体的小说的网址
novel_url = urllib.parse.urlunparse(['https', 'sanguo.'+ novel_base_url, '',
'', '', '',])
#因为每个章节都是一个独立的网址,因此需要创建一个列表来储存一个个的章节网址
chapter_url_list = []
#构造请求头,因为有些网站会识别请求头里的User-Agent来检查是否为正常访问途径,
#还会检查Host,因此需要构造headers绕过这种简单的反爬虫,通过创建一个字典先来储存这些信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36\
(KHT