小朱就是牛 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 关于#wireshark#的问题:并且能够给数据做标注,如这个流量是在看视频或者是在转账
  • ¥90 请问,这个视频播放软件的名称,用过的朋友请给答案,上方..avi是啥意思?是看短剧还是播放本地视频?
  • ¥15 运筹优化,gurobi,python
  • ¥15 基于python的电影系统推荐
  • ¥20 springmvc重定向和返回json
  • ¥15 数学建模——参会安排怎么做
  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格