【问题标题】:Check if Python has written the targeted text检查 Python 是否编写了目标文本
【发布时间】:2016-06-17 09:09:16
【问题描述】:

我正在编写一个代码来从大量网页中抓取选定的可见文本部分。这是其中的一部分:

                divTag = soup.find_all("div", {'id':'articleBody'})
                for tag in divTag:
                    pTags = tag.find_all("p") 
                    for tag in pTags:
                        print >>f, tag.text

我如何检查 Python 是否找到并写入了目标文本,如果抓取不成功,将链接放在一边(到列表中)?

我在这里没有找到答案,也不知道在哪里查看文档。

【问题讨论】:

  • 嗯...“检查 Python 是否已找到(并写入)目标文本”怎么样?
  • 一种选择是添加 if 语句以检查您是否正确解析项目并使用 Python 内置的日志记录模块来记录成功/失败。我还成功使用 tinydb 包来存储结果和失败.该库的一大优点是语法简单,查询功能非常强大,而且非常轻量级(将数据存储为 json)

标签: python screen-scraping


【解决方案1】:

这是了解python是否找到您要查找的文本的替代方法:

import requests
from bs4 import BeautifulSoup

urls = ['https://www.google.com']
for i in range(len(urls)):
    r = requests.get(urls[i])
    soup = BeautifulSoup(r.content, 'lxml')
    items = soup.find_all('p')
    for item in items:
        if "2016 - Privacidad - Condiciones" in item.text:
            print "Python has found the targeted text"

如果python没有找到text,则需要使用remove()方法。

【讨论】:

  • 不错的解决方案。如果 item.text 包含任何字符,则意味着 Python 在我选择的标签中找到了某些内容。
猜你喜欢
  • 1970-01-01
  • 2016-07-13
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多