小朱就是牛 2022-08-15 09:11 采纳率: 66.7%
浏览 29
已结题

如何解决python爬虫问题?

用python爬取小说章节时,出现非章节链接,该如何处理?

问题相关代码:

import requests
import parsel
import re

list_url='http://huayu.zongheng.com/showchapter/1222064.html'
response=requests.get(list_url)
#print(response.text)
selectors=parsel.Selector(response.text)
href=selectors.css('div div div div ul li a::attr(href)').getall()
print(href)

运行出现的问题:结果出现了非章节链接,不知道如何处理

我的解答思路和尝试过的方法 :我刚开始打算用for循环和re正则表达式进行排除,还是没找到对应的方法

我想要达到的结果:能够排除非章节链接

  • 写回答

1条回答 默认 最新

  • 梦里逆天 2022-08-15 09:50
    关注

    应该是css选择器里面的规则不够明确,可改成href = selectors.css('div.container div div div ul li a::attr(href)').getall()href = selectors.css('div.volume-list > div > ul > li > a::attr(href)').getall()

    import requests
    import parsel
    
    list_url = 'http://huayu.zongheng.com/showchapter/1222064.html'
    response = requests.get(list_url)
    print(response.text)
    selectors = parsel.Selector(response.text)
    # body > div.container > div:nth-child(2) > div.volume-list > div > ul > li:nth-child(1) > a
    # href = selectors.css('div.container div div div ul li a::attr(href)').getall()
    href = selectors.css('div.volume-list > div > ul > li > a::attr(href)').getall()
    print(href)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月15日

悬赏问题

  • ¥50 关于#微信小程序#的问题:微信小程序支持h5实现webrtc h264 h265低延迟传输渲染,能付费帮我们解决一下吗
  • ¥20 请问ansys License manager 这个问题如何解决
  • ¥15 memory.limit()' is no longer supported
  • ¥15 基于stm32f4产生两路pwm信号并可由串口通信调节
  • ¥15 C++/QT设置函数调用条件(多个功能调用同一,且各自调用条件不同)
  • ¥15 UE5样条线生成的网格UV问题
  • ¥15 如何用最短的时间大致看懂springboot+vue的项目
  • ¥15 (有偿)懂数值分析和含时变参数微分方程的来
  • ¥15 abaqus随机生成二维颗粒
  • ¥15 安装ansys许可证管理器时出现了这个问题,如何解决?