在 python 3.7 中使用 Beautifulsoup 从《华尔街日报》网络抓取文章?

2024-07-03

我正在尝试使用 Python 中的 Beautifulsoup 从《华尔街日报》中抓取文章。但是,我正在运行的代码正在执行,没有任何错误(退出代码 0),但没有结果。我不明白发生了什么事?为什么这段代码没有给出预期的结果。

我什至已经付费订阅了。

我知道有些事情不对劲,但我找不到问题所在。

import time

import requests

from bs4 import BeautifulSoup

url = 'https://www.wsj.com/search/term.html?KEYWORDS=cybersecurity&min-date=2018/04/01&max-date=2019/03/31' \
  '&isAdvanced=true&daysback=90d&andor=AND&sort=date-desc&source=wsjarticle,wsjpro&page={}'

pages = 32
for page in range(1, pages+1):
    res = requests.get(url.format(page))
    soup = BeautifulSoup(res.text,"lxml")
    for item in soup.select(".items.hedSumm li > a"):
        resp = requests.get(item.get("href"))
        _href = item.get("href")

        try:
            resp = requests.get(_href)
        except Exception as e:
            try:
            resp = requests.get("https://www.wsj.com" + _href)
        except Exception as e:
            continue
    sauce = BeautifulSoup(resp.text,"lxml")
    date = sauce.select("time.timestamp.article__timestamp.flexbox__flex--1")
    date = date[0].text
    tag = sauce.select("li.article-breadCrumb span").text
    title = sauce.select_one("h1.wsj-article-headline").text
    content = [elem.text for elem in sauce.select("p.article-content")]
    print(f'{date}\n {tag}\n {title}\n {content}\n')

    time.sleep(3)

正如我在代码中所写,我正在尝试抓取所有文章的日期、标题、标签和内容。如果我能得到关于我的错误的建议,我应该做什么才能得到想要的结果,那将会很有帮助。


替换您的代码:

resp = requests.get(item.get("href"))

To:

_href = item.get("href")

try:
    resp = requests.get(_href)
except Exception as e:
    try:
        resp = requests.get("https://www.wsj.com"+_href)
    except Exception as e:
        continue

因为大多数item.get("href")没有提供正确的网站网址,例如您得到的网址是这样的。

/news/types/national-security
/public/page/news-financial-markets-stock.html
https://www.wsj.com/news/world

Only https://www.wsj.com/news/world是有效的网站 URL。所以你需要连接base URL with _href.

Update:

import time
import requests
from bs4 import BeautifulSoup
from bs4.element import Tag

url = 'https://www.wsj.com/search/term.html?KEYWORDS=cybersecurity&min-date=2018/04/01&max-date=2019/03/31' \
  '&isAdvanced=true&daysback=90d&andor=AND&sort=date-desc&source=wsjarticle,wsjpro&page={}'

pages = 32

for page in range(1, pages+1):
    res = requests.get(url.format(page))
    soup = BeautifulSoup(res.text,"lxml")

    for item in soup.find_all("a",{"class":"headline-image"},href=True):
        _href = item.get("href")
        try:
            resp = requests.get(_href)
        except Exception as e:
            try:
                resp = requests.get("https://www.wsj.com"+_href)
            except Exception as e:
                continue

        sauce = BeautifulSoup(resp.text,"lxml")
        dateTag = sauce.find("time",{"class":"timestamp article__timestamp flexbox__flex--1"})
        tag = sauce.find("li",{"class":"article-breadCrumb"})
        titleTag = sauce.find("h1",{"class":"wsj-article-headline"})
        contentTag = sauce.find("div",{"class":"wsj-snippet-body"})

        date = None
        tagName = None
        title = None
        content = None

        if isinstance(dateTag,Tag):
            date = dateTag.get_text().strip()

        if isinstance(tag,Tag):
            tagName = tag.get_text().strip()

        if isinstance(titleTag,Tag):
            title = titleTag.get_text().strip()

        if isinstance(contentTag,Tag):
            content = contentTag.get_text().strip()

        print(f'{date}\n {tagName}\n {title}\n {content}\n')
        time.sleep(3)

O/P:

March 31, 2019 10:00 a.m. ET
 Tech
 Care.com Removes Tens of Thousands of Unverified Listings
 The online child-care marketplace Care.com scrubbed its site of tens of thousands of unverified day-care center listings just before a Wall Street Journal investigation published March 8, an analysis shows. Care.com, the largest site in the U.S. for finding caregivers, removed about 72% of day-care centers, or about 46,594 businesses, listed on its site, a Journal review of the website shows. Those businesses were listed on the site as recently as March 1....

Updated March 29, 2019 6:08 p.m. ET
 Politics
 FBI, Retooling Once Again, Sets Sights on Expanding Cyber Threats
 The FBI has launched its biggest transformation since the 2001 terror attacks to retrain and refocus special agents to combat cyber criminals, whose threats to lives, property and critical infrastructure have outstripped U.S. efforts to thwart them. The push comes as federal investigators grapple with an expanding range of cyber attacks sponsored by foreign adversaries against businesses or national interests, including Russian election interference and Chinese cyber thefts from American companies, senior bureau executives...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 3.7 中使用 Beautifulsoup 从《华尔街日报》网络抓取文章? 的相关文章

  • 在python绑定/clang中的get-includes中解析cpp文件时过滤目录

    我应该编写一个 python clang 解析器 它返回 cpp 文件中的所有包含内容 所以我使用像下面的代码这样的东西 def main from clang cindex import Index from optparse impor
  • 将今天日期设置为模型中的默认值

    如何在模型中将默认值设置为今天日期 我的型号 vote date models DateField 投票日期 null False Blank False 所有答案都不能解决最初的问题 重述问题 如何将日期字段的默认值设置为今天的日期并仍然
  • matlab的imregionalmax()和scipy.ndimage.filters.maximum_filter有什么区别

    我需要找到图像的区域最大值以获得用于分水岭分割的前景标记 我在 matlab 中看到使用该函数imregionalmax http www mathworks com help images ref imregionalmax html 由
  • 配置 argparse 以接受带引号的参数

    我正在编写一个程序 除其他外 它允许用户通过参数指定要加载的模块 然后用于执行操作 我试图建立一种方法来轻松地将参数传递到这个内部模块 并且我试图使用 ArgParse 的action append 让它构建一个参数列表 然后我将通过它 这
  • Kivy:如何在树视图中使用 on_key_down 和 on_key_up 键盘事件?

    我在用python 2 7 and kivy 1 10 0 当我点击nameTextInput 然后树视图显示 我希望选择标签up and down键 并且当enter按下键 文本被复制 所选文本被复制到初始表单 就像您单击该项目时当前完成
  • 使用 Python 在 Yandex Images 中反向搜索图像

    我对自动化反向图像搜索感兴趣 Yandex 特别适合捕捞鲶鱼 甚至比 Google 图片还要好 因此 请考虑以下 Python 代码 import requests import webbrowser try filePath C path
  • 上传大文件nginx + uwsgi

    堆栈 flask 0 10 uwsgi 1 4 5 nginx 1 2 3 我可以通过我的应用程序上传小文件 CONTENT LENGTH 无效 太大 跳过 nginx 日志没有显示任何有用的内容 我尝试了以下操作 但没有成功 nginx配
  • 如何覆盖 nltk 的 pos_tag 分配给文本的 POS 标签?

    我使用 nltk 中的 pos tag 来标记一组 未标记的 技术文档中的文本并获得良好的结果 但它总是将 authenticated 等单词标记为动词 而有时它可以用作形容词 换句话说 仅仅改变标签并不是每次都有效 是否有一个好方法来覆盖
  • 解析srt字幕

    我想解析srt字幕 1 00 00 12 815 gt 00 00 14 509 Chlapi jak to jde s t ma pracovn ma sv tlama 2 00 00 14 815 gt 00 00 16 498 Tro
  • 如何对不同类型的列表进行排序?

    我需要使用 python 3 对列表进行排序 可能有strings integers floats or tuples etc 我目前正在尝试正确使用sort函数使用key参数如下 data sort key gen key def gen
  • 模板内嵌套 for 循环

    模型 py class Task models Model level models ForeignKey Level on delete models CASCADE todo models ForeignKey ToDo on dele
  • 删除超过 7 天的文件

    我看过一些帖子删除特定文件夹中的所有文件 不是文件夹 但我根本不明白它们 我需要使用 UNC 路径并删除所有超过 7 天的文件 Mypath files data APIArchiveFolder 有人有快速脚本 可以专门输入上面的路径来删
  • 数据集继续使用线性回归而不是决策树模型

    我想在我的数据集上使用决策树模型 但无论我做什么 它都会继续使用线性回归 数据不同 但图表仍然相同 基本上 我编写了线性回归的代码 from sklearn linear model import LinearRegression linr
  • 如何在 setup.py 中运行 Makefile?

    我需要编译ICU http icu project org使用它自己的构建机制 因此问题是 我怎样才能运行一个Makefilesetup py 显然 我只希望它在构建过程中运行 而不是在安装时运行 我通常使用的方法是覆盖有问题的命令 fro
  • Numpy,沿数组维度应用函数列表

    我有一个类型的函数列表 func list lambda x function1 input lambda x function2 input lambda x function3 input lambda x x 和形状为 4 200 2
  • Python,创建对象

    我正在尝试学习 python 现在我正在尝试掌握类的窍门以及如何使用实例来操作它们 我似乎无法理解这个练习问题 创建并返回一个学生对象 其姓名 年龄和专业为 与作为输入给出的相同 def make student name age majo
  • 为什么 SendMessage 对某些应用程序不起作用?

    背景 我试图编写一个自动点击器来在后台点击应用程序 Roblox https en wikipedia org wiki Roblox 不尝试做任何恶意的事情 我能够获取该窗口并执行诸如关闭它之类的命令 但是 当尝试将点击发送到窗口时 它会
  • Python 解释器优化

    假设我有一个字符串x Python 解释器是否足够聪明 能够知道 string replace x x 应转换为NOP 我怎样才能找到这个 是否有任何参考资料显示解释器能够根据句法分析动态执行哪种类型的优化 不 Python 不能对 NOP
  • Python Selenium Webdriver - 代理身份验证

    我想将 Selenium Webdriver 与需要用户身份验证的代理一起使用 这可能吗 这就是我到目前为止所拥有的 但我不知道在哪里放置凭据 user pass proxy port from selenium import webdri
  • 在Python中返回外部函数错误

    这就是问题 给定以下 Python 程序 假设用户从键盘输入数字 4 返回的值是多少 N int input enter a positive integer counter 1 while N gt 0 counter counter N

随机推荐

  • 如果进程中的一个线程崩溃会发生什么?

    我有两个菜鸟问题 1 为什么node js在单线程中运行 为什么不直接使用进程本身呢 或者在线程中而不是在进程中运行它有什么优点 2 如果进程中的线程崩溃会发生什么 我知道 未处理的异常将导致进程退出 但是如果正确捕获它会发生什么 或者像浮
  • 除非我在其中放入 printf 语句,否则代码会崩溃

    这是我正在使用的数组库中的代码片段 这在 Windows 上运行良好 但是当我在 Linux 上使用 gcc 编译时 如果此函数崩溃 当试图缩小问题范围时 我向其中添加了一条 printf 语句 代码不再崩溃 void arrayCreat
  • ConstraintLayout 视图位于左上角

    每次我创建这样的视图时Button and TextView in ConstraintLayout 它们都卡在顶角而不是我放置它们的位置 我尝试创建新的活动并更改模拟器 但结果仍然相同 这是正在发生的事情的屏幕截图 可能是什么问题 如中所
  • Mongotemplate.updateFirst() 不更新@LastModifiedDate

    我正在使用基于注释的配置 Configuration Profile default ComponentScan basePackages com EnableMongoRepositories EnableMongoAuditing pu
  • 创建SparkContext失败

    我正在用 scala 代码在 Spark shell 中测试 Spark 我正在构建使用 Kafka 和 Spark 的原型 我跑了spark shell像下面这样 spark shell jars spark external kafka
  • Microsoft Teams 身份验证:无法在团队机器人 (V4 SDK) 中检索令牌

    我有一个微软团队机器人我正在尝试使用以下方式对用户进行身份验证AAD v2 端点 该机器人使用V4 SDK 和 OauthPrompt 我可以登录但无法获取令牌 我正在使用 OAuth 卡 该卡正在 Teams 内渲染 单击登录按钮后 它将
  • 如何将 SQL Server 存储过程的返回值获取到 nHibernate 中?

    1 数据库平台 SqlServer 2 数据访问 nHibernate 1 2 现在我们需要通过 nHibernate 访问存储过程 如下所示 ALTER PROCEDURE TestProc AS BEGIN Select From Us
  • 在 Django 管理站点中显示自定义模型验证异常

    我有一个预订模型 需要检查预订的商品是否可用 我希望有一个逻辑来确定该项目是否可用集中 这样无论我在哪里保存实例 此代码都会验证它是否可以保存 目前 我的模型类的自定义保存函数中有此代码 def save self if self is a
  • MVP 模式 - 被动视图并通过 IView 公开复杂类型(Asp.Net、Web 表单)

    我最近切换到采用被动视图方法的 MVP 模式 当视图界面仅公开基本的 clr 类型 例如映射到 TextBoxes 的字符串 映射到 DropDownLists 的 IDictionary 映射到某些网格的 IEnumerable 中继器
  • 将 JSON 传递给 HTTP POST 请求

    我正在尝试使用以下命令向 google QPX Express API 1 发出 HTTP POST 请求nodejs and request 2 我的代码如下所示 create http request client to consume
  • .net 新进程沙箱用于不受信任的代码

    所以我需要在新进程中运行动态编译的不受信任的代码 我找到了如何在新的 AppDomain http msdn microsoft com en us library bb763046 aspx 中执行此操作 但没有在新进程中执行此操作 可以
  • 如何在 ruby​​ 代码中添加断言

    我想使用断言并将评估放入我的 ruby 代码中 例如 检查是否创建了 zip 文件 标签是否存在 文本区域中的消息等 我已经放了一些断言语句 例如assert selenium is text present textMessage 但它们
  • Android:按钮在滚动视图中不可见

    我正在制作一个 Android 应用程序来输入用户信息 因为我有两个按钮和数字选择器 我的按钮是自定义的 并且没有显示在 Android Studio 的预览中 也没有显示在模拟器中 这是我的代码
  • bufferedReader() 在 Kotlin 中到底是如何工作的?

    所以我试图从a读取数据 json我的 Android 项目中的文件 val file context assets open myfile json bufferedReader readText 这工作正常并成功打印出我的 json文件为
  • Python中的RSA加密和解密

    我需要在 Python 中使用 RSA 加密和解密的帮助 我正在创建一个私钥 公钥对 用密钥加密消息并将消息写入文件 然后我从文件中读取密文并使用密钥解密文本 我在解密部分遇到问题 正如您在下面的代码中看到的 当我输入decrypted k
  • Android 平板电脑和手机应使用哪种资源结构?

    上次出现更高密度的设备时 我更新了应用程序的资源 开始以更高分辨率绘制图标 并通过使用 res drawable hdpi 目录结构提供它们 到目前为止 一切都很好 现在我想做一些改变以适应 Android 平板电脑 更新了一些布局 然后我
  • 为 php7 设置 mongoDB 扩展

    我正在尝试安装 php7 的 mongoDB 扩展 我从全新安装的 Ubuntu Server 16 04 1 开始 预安装 操作系统安装时 的软件包有 LAMP 扩展 OpenSSL 和 MySQL 服务器 这是安装在本地 Virtual
  • HTML 属性 accesskey 无法正常工作

    因此 我正在测试所有不同的 HTML 标签和属性 稍微更新一下内容 但由于某种原因 accesskey 似乎不起作用 accesskey 属性用于为元素分配键 根据您的操作系统 按 Alt 该键 Windows 或 Cmd 该键 Mac 会
  • 如何使角度装饰器缩小友好?

    如何使这段代码对我来说具有缩小友好性 MyModule config provide function provide provide decorator exceptionHandler function delegate injecto
  • 在 python 3.7 中使用 Beautifulsoup 从《华尔街日报》网络抓取文章?

    我正在尝试使用 Python 中的 Beautifulsoup 从 华尔街日报 中抓取文章 但是 我正在运行的代码正在执行 没有任何错误 退出代码 0 但没有结果 我不明白发生了什么事 为什么这段代码没有给出预期的结果 我什至已经付费订阅了