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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改