Violetttte 2023-05-22 17:18 采纳率: 82.8%
浏览 36
已结题

python中发送url请求但url地址中包括#怎么办

想要爬取新华日报上的新闻内容,遇到的问题是新华日报中的每一个新闻的网页地址是通过在最后使用井号加字符串标识得到的,如下,网页地址为“http://xh.xhby.net/pc/layout/202305/22/node_1.html井号content_1198084”
,但是通过python发送url请求时,井号后面的内容没有被识别,得到的网页内容仅仅是“http://xh.xhby.net/pc/layout/202305/22/node_1.html”。
即井号前面的整个内容,尝试过使用urllib.parse.quote等对其转义,又或是直接将井号变成%23这种编码,但是都没有用,想请问具体如何才能实现(使用python),(除了使用selenium模拟登录以外)。

  • 写回答

2条回答 默认 最新

  • 27-1994 2023-05-23 17:39
    关注

    对于这种后面通过井号加载的网页,使用 Python 中的 selenium 库来模拟浏览器访问网页,并获取通过井号加载的内容。

    from selenium import webdriver
    
    # 创建浏览器对象
    driver = webdriver.Chrome()
    
    # 访问网页
    driver.get('http://xh.xhby.net/pc/layout/202305/22/node_1.html#content_1198084')
    
    # 等待一定时间,让页面加载完成
    driver.implicitly_wait(10)
    
    # 获取通过井号加载的内容
    content = driver.find_element_by_id('content_1198084').text
    
    # 打印内容
    print(content)
    
    # 关闭浏览器对象
    driver.quit()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 修改了问题 5月22日
  • 修改了问题 5月22日
  • 展开全部