zoukankan      html  css  js  c++  java
  • 爬取新闻网站的财经信息

    要爬取的新闻信息
    在这里插入图片描述可以通过Ctrl+U快捷键查看页面的html源码,便于数据结构分析
    在这里插入图片描述数据结构:类news_li下的h2标签下的a链接指定每个新闻的详情
    完整代码如下:

    #encoding:utf-8
    import requests
    from pyquery import PyQuery as pq
    import os
    import datetime
    
    header = {
            "Referer": "https://www.thepaper.cn/channel_25951",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
    }
    base_url = "https://www.thepaper.cn/"
    def index():
        url = base_url + "channel_25951"
        response = requests.get(url, header).text
        # 数据初始化
        doc = pq(response)
        # 使用css选择器的方式进行数据提取(类(news_li)———》h2标签--》a标签内容)
        a = doc(".news_li h2 a").items()
        for x in a:
            # 获取新闻详情链接
            href = base_url + x.attr("href")
            # 提取文本数据
            title = x.text()
            content(href, title)
    
    def content(href, title):
        response = requests.get(href, header).text
        doc = pq(response)
        news = doc(".news_txt").items()
        for x in news:
            new = x.text()
            date = datetime.datetime.now().strftime("%Y-%m-%d") + "//"
            if not os.path.exists(date):
                os.mkdir(date)
            with open(date + "{}.txt".format(title),"a", encoding="utf-8") as f:
                f.write(new)
    
    index()
    

    在这里插入图片描述

  • 相关阅读:
    js 冒泡排序 与非冒泡排序
    js Base64加密与解密
    复杂的时间调度器
    js计算阶乘与斐波切纳数列
    js按需加载兼容性写法
    关于JavaScript的宏任务与微任务
    caller与callee的区别
    如何实现一个parseInt
    nodejs 保存 payload 发送过来的文件
    angularjs:[1] ui-router 权限控制
  • 原文地址:https://www.cnblogs.com/zhouzetian/p/13380546.html
Copyright © 2011-2022 走看看