单章小说下载:
python
import requests
import parsel
import re
#https://www.tadu.com/getPartContentByCodeTable/1004090/2 第二章链接
def get_response(url):
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
response = requests.get(url=url,headers=headers)
return response
if __name__ == '__main__':
url = 'https://www.tadu.com/getPartContentByCodeTable/1004090/1'
response = get_response(url).json()
content = response['data']['content']
result = re.findall('<p.*?>(.*?)</p>',content)
string = '\n'.join(result)
print(string)
with open('你那近三十的心酸.txt','w',encoding='utf-8') as f:
f.write(string)
结果展现:
整本小说下载,下载第二章只要在url最后改成2即可
实现搜索界面展现:
python
def get_search(url,key):
data = {
'query': key,
}
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
response = requests.post(url=url,data=data,headers=headers)
return response
def get_booklist(response):
selector = parsel.Selector(text=response)
ul_list = selector.css('.bookList li')
for ul in ul_list:
href = ul.css('div.rtList a::attr(href)').get()
title = ul.css('div.rtList a.bookNm::text').getall()
title = ''.join(title)
info = ul.css('div.rtList a.bookIntro::text').getall()
print(href,title,info)
if __name__ == '__main__':
url = 'https://www.tadu.com/search'
key = '仙魔'
resp = get_search(url,key).text
# print(resp)
get_booklist(resp)
结果展现:
可以通过搜索姐界面找到小说名称和小说链接,小说简介。