爬取三国演义小说中的所有章节标题和章节内容
import requests
from bs4 import BeautifulSoup
# UA伪装
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36"
}
url = 'https://www.shicimingju.com/book/sanguoyanyi.html'
page_text = requests.get(url=url,headers=headers).text
# 在首页中解析出文章的标题和详情页的url
# 1 实例化BeautifulSoup对象 需要将页面源码的数据加载到该对象中
soup = BeautifulSoup(page_text,"lxml")
# 解析章节标题和详情页的url
li_list = soup.select(".book-mulu > ul > li")
fp = open("./sanguo.txt", 'w',encoding="utf-8")
for li in li_list:
title = li.a.string
detail_url = "https://www.shicimingju.com"+li.a["href"]
# 对详情页发起请求 解析章节内容
detail_url_text = requests.get(url=detail_url,headers=headers).text
# 解析出详情页相关的章节内容
detail_soup = BeautifulSoup(detail_url_text,"lxml")
div_tag = detail_soup.find("div", class_="chapter_content")
#解析到了讲解的内容
content = div_tag.text
fp.write(title+":"+content+"\n")
print(title,"爬取成功")