PYTHON爬取小说

import requests
from bs4 import BeautifulSoup
import os

def find_book():
    book = str(input('你要阅读的书集是:'))
    url = f'https://so.gushiwen.cn/search.aspx?value={book}&valuej={book[0]}'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'}
    content = requests.get(url, headers=headers)
    content.encoding = 'utf-8'
    r = content.text
    soup = BeautifulSoup(r, "html.parser")
    name = soup.find('div',attrs={'class':'sonspic'}).find('a')
    new_url = 'https://so.gushiwen.cn' + name['href']
    return book,new_url

name,url = find_book()

save_dir = name
if not os.path.exists(save_dir):
    os.makedirs(save_dir)

content = requests.get(url)
content.encoding = 'utf-8'
r = content.text
soup = BeautifulSoup(r, "html.parser")
name1 = soup.find('div',attrs={'class':'bookcont'}).find('ul').find_all('span')
num = 1
for n in name1:
    url1 = f'https://so.gushiwen.cn {n.find('a')['href']}'
    print(n.find('a'))
    book = requests.get(url1)
    book.encoding = 'utf-8'
    r = book.text
    soup = BeautifulSoup(r, "html.parser")
    book1 = soup.find('div',_class='contson').get_text()
    with open(f'{save_dir}/第{num}回.text', mode='w', encoding='utf-8') as f:
        f.write(book1)
    num += 1
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值