等月亮 2024-06-01 14:50 采纳率: 50%
浏览 3

某省大学排名网络爬虫应该怎么做

为什么无法输出只有湖北省的大学排名??湖北省份的CSS无法选择

img

img

  • 写回答

3条回答 默认 最新

  • Kwan的解忧杂货铺 2024-06-01 14:50
    关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    你遇到的问题在于CSS选择器无法正确地定位到湖北省的大学列表。CSS选择器location_selector='.options li'可能没有正确地匹配到包含湖北省信息的部分。在HTML结构中,<li>标签通常用于列表项,但可能并不是所有包含地点信息的地方都使用了这个标签。

    解决方案

    1. 检查HTML结构: 首先,你需要查看HTML源代码,找出包含湖北省大学信息的正确部分。通常,这些信息可能会在不同的类名、ID或属性中,而不是直接在li标签下。

    2. 修改CSS选择器: 根据HTML结构,尝试使用更精确的选择器。例如,如果湖北省的大学信息在一个特定的<div><span>标签内,你可以选择这个标签作为新的选择器。例如:

      location_selector='.specific-class-for-location'
      
    3. 异常处理: 如果多个元素都有相同的CSS选择器,可以添加一个额外的条件来确保只选择湖北省的大学,比如通过文本搜索或查找特定的子元素,如<span>湖北</span>

    4. 测试与调试: 在修改后,重新运行爬虫,并检查输出结果,确认是否正确选择了湖北省的大学。

    # 修改后的代码可能如下:
    location_selector = '.specific-class-for-location span'  # 以`.specific-class-for-location`为例,替换为实际选择器
    
    for rank_item, name_item, location_item in zip(
        soup.select(rank_selector),
        soup.select(name_selector),
        soup.select(location_selector)
    ):
        # ...其他代码保持不变...
        if '湖北' in location_item.get_text():  # 检查是否包含“湖北”
            print(f"{rank}\t{name}")
    

    记得替换.specific-class-for-location为实际找到的湖北省大学位置对应的CSS选择器。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月1日

悬赏问题

  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码
  • ¥15 AutoDL无法使用docker install吗?
  • ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件
  • ¥30 关于#wireshark#的问题:需要网络应用流量数据集需要做长度序列的实验,需要与应用产生的会话的数据包的长度,如视频类或者聊天类软件
  • ¥15 根据上述描述表示泥浆密度沿着管路的长度方向在不断变化,如何来表示泥浆密度随管路的变化(标签-matlab|关键词-流计算)