本帖最后由 大马强 于 2021-4-19 00:46 编辑
已经爬取到文本所在点我url,但是却是乱码,用了百度上的方法还是处理不了
代码奉上# 爬取 https://boxnovel.baidu.com/ 的小说西游记
# 发起请求,拿到页面的html代码
# 从上面的html的源代码中找到不同章节的url
# 对上面的拿到url发起请求去获得数据
# 对数据进行永久化保存
import requests
# 抓包过程中发现 参数 pageNum 的值是变化的 为【1,2,3】
# 使用循环来将本书章节的包全部爬到,发起请求
# https: // novelapi.baidu.com/novelopenapi/legal/content?app_code = wise_novel & sign = 5eebc17759205623c5aa3b4e61bec1df & time = 1618747010621 & book_id = 4306063500 & chapter_id = 11348571
for pagenum in range(1, 4):
book_url = f"https://boxnovel.baidu.com/boxnovel/wiseapi/chapterList?bookid=4306063500&pageNum={pagenum}&order=asc&site="
book_html = requests.get(book_url)
for each in book_html.json()['data']["chapter"]["chapterInfo"]:
c_id = each["chapter_id"]
title = each["chapter_title"] # 取得c_jd
chapter_url = f"https://novelapi.baidu.com/novelopenapi/legal/content?app_code=wise_novel&sign=5eebc17759205623c5aa3b4e61bec1df&time=1618747010621&book_id=4306063500&chapter_id={c_id}"
chapter_html = requests.get(chapter_url)
try:
text_url = chapter_html.json()['data']['url'] #请求小说文本所在URL
except:
PASS
else:
text = requests.get(text_url)
print(text.text)
我觉得那个小说的文本应该就在这里,但是我还是无法将它处理,求求大佬指点
|