Beautifulsoup web刮刀问题

时间:2011-09-01 08:34:17

标签: python beautifulsoup mechanize web-scraping

我正在使用BeautifulSoup和机械工具从网页中查找一些内容。事情是,有些人找不到我正在寻找的字符串。我不知道会出现什么问题

许多网页都运行了好几个月,但突然间它停止了工作。然后我必须重新开始我的程序并希望得到正确的结果。

问题出在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 :(得分:0)

我帮助了一个有类似问题的人,结果证明是字符串的编码。这个链接(来自他们的文档)可能会帮助您 - Beautiful Soup Gives You Unicode, Dammit