赤坂Dragon 发表于 2021-7-8 15:32:12

为什么我用css和xpath筛选出来都是这样的结果

import requests
import parsel
from tqdm import tqdm
import pandas as pd

headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
def get_response(html_url):
    response = requests.get(url=html_url,headers=headers)
    return response #将得到的response变量再传到下面去


def get_all_novel(html_url):
    response = get_response(html_url)#get_response(html_url)将url传到上面去
    selector = parsel.Selector(response.text)
    novel_name = selector.css('#info h1::text').get()
    href = selector.css('#list dd a::attr(href)').getall()
    for link in href:
      link_url = 'https://www.biquges.com/' + link
      html_data = get_response(link_url).text#将link带到def get_response(html_url):中去,返回的值直接text掉
      selector_1 = parsel.Selector(html_data)
      title = selector_1.xpath('//div[@class="bookname"]/h1/text()').get
      content_list = selector_1.css('#content::text').getall()
      #保存小说内容,需要的格式为txt,保存数据,要用字符串格式
      #把列表转化成字符串 str(content)强转 ''.join(列表)
      content = ''.join(content_list)
      print(title)
      #print(content)

url = 'https://www.biquges.com/20_20374/'
get_all_novel(html_url=url)



为什么输出会是这样的信息,我用css和xpath筛选出来都是这样的结果,该怎么改才能把后面的章节信息正常输出

学渣李某人 发表于 2021-7-8 17:16:36

本帖最后由 学渣李某人 于 2021-7-8 17:17 编辑

get少了一对括号,

学渣李某人 发表于 2021-7-8 17:18:12

也就是说, 你没调用函数

赤坂Dragon 发表于 2021-7-8 18:34:10

看了一下午楞是没搞明白{:10_282:},这么一说我悟了{:10_277:}

学渣李某人 发表于 2021-7-8 19:00:09

本帖最后由 学渣李某人 于 2021-7-8 20:29 编辑

赤坂Dragon 发表于 2021-7-8 18:34
看了一下午楞是没搞明白,这么一说我悟了

那就给个最佳吧
页: [1]
查看完整版本: 为什么我用css和xpath筛选出来都是这样的结果