LiuBinY_ 2022-06-13 12:45 采纳率: 100%
浏览 148
已结题

只有二十几行!对于各位很简单,求解!

刚刚学习python,代码不报错,但是没有输出结果,不知道为什么,求大家喵一眼!就二十多行代码!

代码如下

import requests

from bs4 import BeautifulSoup

url="http://news.qq.com/"

请求腾讯新闻的URL,获取其text文本

wbdata=requests.get(url).text

对获取到的文本进行解析

soup=BeautifulSoup(wbdata,'lxml')

从解析文件中通过select选择器定位指定的元素,返回一个列表

news_titles=soup.select("div.text > em.f14 > a.linkto")

对返回的列表进行遍历

for n in news_titles:
title=n.get_text()
link=n.get("href")
data={ '标题':title, '链接':link}
print(data)

  • 写回答

4条回答 默认 最新

  • 嗨学编程 2022-06-13 14:29
    关注

    这个网站是一个动态的数据加载的, 你想要获取更多的新闻内容, 链接以及标题, 可以看xhr里面的数据

    img

    具体实现的代码如下

    import requests
    
    url = 'https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list'
    data = {
        'sub_srv_id': '24hours',
        'srv_id': 'pc',
        'offset': '60',
        'limit': '20',
        'strategy': '1',
        'ext': '{"pool":["top"],"is_filter":7,"check_type":true}',
    }
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'
    }
    response = requests.get(url=url, params=data, headers=headers)
    # print(response.json())
    for index in response.json()['data']['list']:
        dit = {
            '标题': index['title'],
            '发布名': index['media_name'],
            '分类': index['sub_category_cn'],
            '发布日期': index['publish_time'],
            '链接': index['url'],
        }
        print(dit)
    

    运行效果

    img

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

报告相同问题?

问题事件

  • 系统已结题 6月23日
  • 已采纳回答 6月15日
  • 赞助了问题酬金5元 6月13日
  • 创建了问题 6月13日

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像