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

如何解决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日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵