使用Beautifulsoup查找版权字符

时间:2018-09-22 15:45:59

标签: python web-scraping beautifulsoup

我是Beautifulsoup的新手...这是我的挑战:

我有3000个URL的列表,我用它们来查找公司的名称。我想做的是:

  1. 抓取首页
  2. 搜索©字符
  3. 如果找到了©,请刮除该p元素的内容(例如,网站设计/徽标©2018 Stack Exchange Inc;根据cc by-sa 3.0授权的用户贡献,并需要注明出处。rev 2018.9.22.31657

这似乎很简单,但是我阅读的所有教程都假设一个用例是从单个url 抓取了多个内容元素,因此可以根据标记进行搜索,属性等。在我的示例中,我将无法检查每个网站的html,因此我需要搜索字符。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

以下内容将帮助您入门:

from bs4 import BeautifulSoup
import requests
import re

for url in ['http://www.apple.com/', 'http://www.google.com', 'http://www.stackoverflow.com/']:
    html = requests.get(url)
    soup = BeautifulSoup(html.content, 'html.parser')

    for text in soup.stripped_strings:
        if '©' in text:
            text = re.sub(r'\s+', ' ', text)  # condense any whitespace
            print(f'"{url}"  {text}')

将显示:

"http://www.apple.com/"  Copyright © 2018 Apple Inc. All rights reserved.
"http://www.google.com"  © 2018 -
"http://www.stackoverflow.com/"  site design / logo © 2018 Stack Exchange Inc; user contributions licensed under

使用Python 3.6.6测试