爬虫学习之7:使用XPATH爬取起点小说网小说信息(保存到EXCEL)

本文介绍了一种使用Python爬取起点小说网小说信息的方法,包括作者、类型、连载状态等,并通过XPath解析数据,最后将结果保存为Excel文件。

    起点小说网如上图,爬取小说的作者、类型、连载状态、介绍和字数信息,使用Xpath并保存到EXCEL中,代码简单不做解释,如下:

import xlwt
import requests
from lxml import etree
import time

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36'
}

all_info_list = []

def get_info(url):
    html = requests.get(url,headers=headers)
    selector = etree.HTML(html.text)
    infos = selector.xpath('//ul[@class="all-img-list cf"]/li')
    for info in infos:
        title = info.xpath('div[2]/h4/a/text()')[0]
        author = info.xpath('div[2]/p[1]/a[1]/text()')[0]
        style1 = info.xpath('div[2]/p[1]/a[2]/text()')[0]
        style2 = info.xpath('div[2]/p[1]/a[3]/text()')[0]
        style = style1 + '.' + style2
        complete = info.xpath('div[2]/p[1]/span/text()')[0]
        introduce = info.xpath('div[2]/p[2]/text()')[0].strip()
        word = info.xpath('div[2]/p[3]/span/span/text()')[0].strip('万字')
        info_list =[title,author,style,complete,introduce,word]
        all_info_list.append(info_list)
    time.sleep(1)



if __name__ =='__main__':
    urls = ['https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page={}'.format(str(i)) for i in range(1,11)]
    page_crawled = 1
    for url in urls:
        get_info(url)
        print("{} pages has crawled".format(str(page_crawled)))
        page_crawled+=1
    header = ['题目','作者','类型','连载状态','介绍','字数']
    book = xlwt.Workbook(encoding='utf-8-sig')
    sheet = book.add_sheet('Sheet1')
    for h in range(len(header)):
        sheet.write(0,h,header[h])
    i = 1
    for list in all_info_list:
        j=0
        for data in list:
            sheet.write(i,j,data)
            j+=1
        i+=1
    book.save('xiaoshuo.xls')


### Flux图像生成模型代码示例及笔记 以下是基于Flux模型的技术特点和实现方式所整理的代码示例及其相关说明: #### 1. Flux模型概述 Flux是一款由Black Forest Labs开发的先进文本到图像生成模型,其核心优势在于高质量的图像生成能力和对人体解剖结构的高度还原[^1]。为了更好地理解如何利用Flux进行图像生成,下面提供了简化版的代码框架。 --- #### 2. Flux模型基础架构 Flux模型依赖于扩散过程来逐步优化图像的质量。其实现涉及以下几个关键部分: - **输入处理**:接收文本提示(Prompt)作为条件输入。 - **扩散网络**:通过前向扩散过程引入噪声,并在反向过程中移除噪声以生成清晰图像。 - **训练策略**:采用自动生成的数据集而非传统开源数据集,从而减少分布偏差[^2]。 --- #### 3. Python代码示例 以下是一个简单的Python脚本,用于展示如何加载预训练的Flux模型并生成图像: ```python from diffusers import DiffusionPipeline, EulerDiscreteScheduler import torch # 加载Flux模型管道 model_id = "blackforestlabs/flux-model" scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler") pipeline = DiffusionPipeline.from_pretrained(model_id, scheduler=scheduler) # 设置设备为GPU或CPU device = "cuda" if torch.cuda.is_available() else "cpu" pipeline = pipeline.to(device) # 定义文本提示 prompt = "A detailed landscape with mountains and a lake under the sunset" # 图像生成 image = pipeline(prompt).images[0] # 保存生成的图像 image.save("generated_image.png") ``` 此代码片段实现了从定义提示语句到最终生成图像的过程。其中`diffusers`库被广泛应用于加载和运行扩散模型[^1]。 --- #### 4. 高分辨率图像生成注意事项 如果希望生成更高分辨率的图像(如4K),可以调整模型参数以支持更大的像素尺寸。然而需要注意的是,高分辨率图像往往需要更强大的计算资源以及更高的内存占用[^3]。具体设置如下: ```python # 调整推理步骤数和图像大小 height = 768 # 增加垂直分辨率 width = 768 # 增加水平分辨率 num_inference_steps = 50 # 更多步数提高质量 image = pipeline( prompt, height=height, width=width, num_inference_steps=num_inference_steps ).images[0] ``` 上述配置能够显著提升图像细节层次,但可能增加生成时间。 --- #### 5. 实验结果分析 实验表明,在不同分辨率下生成的图像具有明显差异。例如,相较于低分辨率版本,4K图像能展现更多纹理信息和边缘锐度[^3]。这些特性使得Flux特别适合艺术创作、产品设计等领域应用。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值