温长醉 2023-12-10 20:04 采纳率: 50%
浏览 22
已结题

Python爬虫程序

img


爬取“搜韵”古诗词体系的“唐宋文学编年地图”其中的诗词地图信息,获得唐代著名诗人相关信息,包括诗人行游路径、时间、行吟诗词,以及与诗人信息次数和对应的历史事件等
找出代码未实现上述目的,只是打开了网址的原因并改正

  • 写回答

18条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-12-10 20:04
    关注
    获得0.45元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    以下是已经修改过的代码:

    from selenium import webdriver
    from bs4 import BeautifulSoup
    
    driver = webdriver.Chrome()
    
    url = "http://snkgraph.com/Map/PoetLife"
    driver.implicitly_wait(10)
    driver.get(url)
    html_content = driver.page_source
    soup = BeautifulSoup(html_content, "html.parser")
    poets = soup.find_all("div", class_="poet-info")
    
    with open("poets.txt", "w", encoding="utf-8") as f:
        for poet in poets:
            name = poet.find("h2").text.strip()
            path = poet.find("p", class_="路径").text.strip()
            time = poet.find("p", class_="时间").text.strip()
            poems = poet.find("p", class_="诗词").text.strip()
            events = poet.find("p", class_="历史事件").text.strip()
            f.write(f"{name}\t{path}\t{time}\t{poems}\t{events}\n")
    
    driver.quit()
    

    修改的地方包括:

    1. 导入的模块名字修改为正确的拼写(beautifulSoup改为BeautifulSoup);
    2. implicity_wait改为implicitly_wait,表示隐式等待,等待页面加载完毕;
    3. 添加driver.get(url)代码,打开网址;
    4. 修改打开文件的方式,将wtite改为write;
    5. 修复name、path、time、poems和events变量的拼写错误;
    6. 修复打开文件的括号错误;
    7. 添加最后的driver.quit()代码,关闭浏览器。
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 创建了问题 12月10日

悬赏问题

  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载