如何仅使用<p>和</p> <div>标签从某些网页上的文章中抓取数据

时间:2019-06-01 18:24:53

标签: python python-3.x web web-scraping beautifulsoup

我的刮板有一些问题。我不知道,如何只剪贴文本而没有诸如“登录”,“编辑”等任何服务文本。我正在为我的文凭项目做总结项目,它会从网页和文件中删除文章。

首先,我仅尝试删除“ p”标签,但在某些网站上无法正常工作,因为在这些网站上没有可以放置文章的“ p”标签。然后,我尝试取消“ p”和“ div”。但是现在它绝对废弃了所有东西,甚至是东西,我不想在我的文字中看到进行总结。

这里是模块,用于从网页上抓取文字和文章:

def scrap(url):
    try:
        req = urllib.request.Request(url, headers={
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
        })
    except:
        return False

    scraped_data = urllib.request.urlopen(req)
    article = scraped_data.read()

    parsed_article = bs.BeautifulSoup(article, 'lxml')

    paragraphs = parsed_article.find_all('p')
    text_in_no_p = parsed_article.find_all("div")

    article_text = ""

    for p in paragraphs:
        article_text += p.text

    for p in text_in_no_p:
        article_text += p.text

    return article_text

我希望看到没有任何服务文本的抓取文本,如上面的示例所示。网页主栏中的至少任何文本。我不太擅长网络抓取,并且只知道一些进行网络抓取的方法。 谢谢您的任何建议。

编辑1

例如,维基百科文章的摘要文本(10个句子)https://en.wikipedia.org/wiki/English_Electric_Lightning

” ^ Darling 2008,第pp。 ^ Lake 1997,第 基于F.1A的Lightning T.4两人并排训练版;建造了两架原型机和20架生产型飞机,两架飞机后来转换为T.5原型,两架飞机后来转换为T.54。 ^亲爱的2000年,第。 [nb 1]这是一架低速研究飞机,其设计目的是使单个飞机可以假定不同的机翼后掠角。 闪电F Mk.6操作数据手册。 ^ Ellis 2012,第278页^ a b Ellis 2012,第23页91 ^埃利斯(Ellis)2012,p。 294 ^ a b Ellis 2012,第132页^ a b“飞机清单”。 先前的测试已经确定,如果对流层顶高且温度低于标准,则在适当的大气条件下,飞机将具有超大推力才能达到该速度。 Westland Aircraft的前首席设计师“ Teddy” Petter是英国需要开发超音速战斗机的热心早期支持者。 在后来的闪电系列中,可以安装腹侧武器包,为飞机配备不同的武器,包括导弹,火箭和大炮。”

和预期的输出一样,但只删除了“ p”标记(7个句子和旧版本)

“ [nb 1]这是一架低速研究飞机,其设计目的是使单个飞机可以假定不同的机翼后掠角。 当超过设计马赫行驶时,斜向冲击将变得超临界,超音速气流将进入进气管,该进气管只能处理亚音速空气。 该飞机的规格是在美国空军部1942年取消E.24 / 43超音速研究飞机规格后才制定的,该规格导致了Miles M.52计划的产生。 在后来的闪电变体上,可以安装腹侧武器套件,为飞机配备不同的武器,包括导弹,火箭和大炮。 Westland Aircraft的前首席设计师“ Teddy” Petter是英国需要开发超音速战斗机的热心早期支持者。 机身从周围的空气中吸收热量,飞机前部的进气冲击锥成为最热的部分。 这种性能以及最初有限的燃料供应使Lightning飞机成为“关键燃料”飞机,这意味着其任务在很大程度上取决于其有限的飞行范围。 “

编辑2: 这里的主要问题是,如果我仅从“ p”标签中删除文本,则网站上肯定会有很多问题,其中文章不在“ p”标签中。例如,从某些站点抓取时我的程序退出了。一些网站不将其文章保存在“ p”标签中。对于我来说,很难像站点的主密钥那样做,因为执行任务会看到,我的程序将如何与“好”和“坏”的站点一起工作。谢谢

0 个答案:

没有答案