Beautifulsoup网页抓取问题

1 投票
1 回答
609 浏览
提问于 2025-04-17 01:02

我正在使用BeautifulSoup和mechanise从网页上找一些内容。问题是,有时候我想找的字符串找不到。我不知道这可能是什么问题。

在很多网页上,它已经正常工作了好几个月,但突然间就不行了。然后我只能重启我的程序,希望能得到正确的结果。

问题出在data.find(text=re.compile('string to find'))这行代码上。网页总是在下载,但有时候就是找不到那个字符串。我在想,问题可能是加载的网页的HTML格式不正确?你有什么想法吗?

这里有一小部分我正在使用的代码,供你参考。

from BeautifulSoup import BeautifulSoup as soup
from mechanize import Browser
import sys, re

def get_page(url):
    mech = Browser()
    page = mech.open(url)
    return page.read()

def test():
    data = soup(get_page('some url'))

    div_pages = data.find(text=re.compile('string to find'))

    try: pager = div_pages.strip().split(' ')
    except:
        print div_pages
        sys.exit()

    print 'ok'

if __name__ == '__main__':
    test()

1 个回答

0

我之前帮过一个人解决过类似的问题,结果发现是字符串的编码出了问题。这个链接(来自他们的文档)可能对你有帮助 - Beautiful Soup 给你提供 Unicode,真是的

撰写回答