taoguya 2022-02-07 10:08 采纳率: 40%
浏览 332
已结题

如何实现自己的网页中某板块同步某门户网站新闻标题的功能?

如何实现自己的网页中某板块同步某门户网站新闻标题的功能

详细描述:
我的网页A,某门户网页B,现在需要把B页面某新闻板块的新闻标题放到A页面上;

A网页上同步B网页上的新闻标题和链接,无需同步新闻内容。

B网页上的新闻标题更新则A网页的更新是同步的。

注:不使用IFAME,使用iframe框架B页面的新闻板块到A网页上也可以实现同步新闻标题的更新,但是新闻标题的样式和顺序等我无法控制。

  • 写回答

19条回答 默认 最新

  • prince_zxill 2022-02-07 19:11
    关注

    第二版源码:Python服务器:

    @app.route('/')
    def index():
        hot_news = getNews()
        return render_template("index.html", news = hot_news,works = works)
    

    Python爬取功能:

    import requests as rq
    from bs4 import BeautifulSoup
    
    URL = 'https://www.cls.cn/'
    headers = {
        'host': 'www.cls.cn',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
    }
    
    def getNews():
        news = {}
        try:
            res = rq.get(URL,headers = headers)
            res.encoding = 'utf-8'    
            soup = BeautifulSoup(res.text,'lxml')
            
            hot = soup.find_all('a',class_='f-w-b c-ef9524 b-c-222')
            for a in hot:
                news[a.text] = "https://www.cls.cn" + a['href']   
                
            hot2 = soup.find_all('a',class_='f-w-b c-222 b-c-222')
            for b in hot2:
                news[b.text] = "https://www.cls.cn" + b['href']
                
            hot3 = soup.find_all('a',class_='clearfix o-h f-s-23 f-w-b home-article-title home-article-title-small')
            for c in hot3:
                news[c.text] = "https://www.cls.cn" + c['href']  
                
            hot4 = soup.find_all('a',class_='c-383838 w-100p o-h home-article-rec-list')
            for d in hot4:
                news[d.text] = "https://www.cls.cn" + d['href']  
        except:
            with open("./static/news.txt",encoding='utf-8') as f:
                contents = f.readlines()
            for content in contents:
                content = content.split(",")
                news[content[0]] = content[1] 
    
        return news
    
    
    def get_news():
        news = {}
        with open("./static/news.txt",encoding='utf-8') as f:
            contents = f.readlines()
            for content in contents:
                content = content.split(",")
                news[content[0]] = content[1] 
        return news
    

    HTML网页端:

    <!--实时财经热点-->
                <div id="hot" class="bj">
                    <h4><span><img src="../static/images/热点.png" style="width:30px"></span>实时财经热点</h4>
                    <ul class="list-group">
                    {% for text in news %}
                         <li class="list-group-item"><a href='{{news[text]}}'>{{text}}</a></li>
                    {% endfor %}
                    </ul>
                </div>
    

    如果能帮到您请务必点击采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(18条)

报告相同问题?

问题事件

  • 系统已结题 2月17日
  • 已采纳回答 2月9日
  • 赞助了问题酬金50元 2月7日
  • 创建了问题 2月7日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器