1

だから私はおいしいページを通り抜けてそこからいくつかのリンクをこすり落とすこのちょっとしたPythonコードを持っています. extract メソッドには、必要なコンテンツを引き出す魔法が含まれています。ただし、ページのフェッチを次々に実行するとかなり遅いです.pythonでこの非同期を実行して、いくつかのgetリクエストを起動してページを並行して処理できるようにする方法はありますか?

url= "http://www.delicious.com/search?p=varun"
page = br.open(url)
html = page.read()
soup = BeautifulSoup(html)
extract(soup)

count=1
#Follows regexp match onto consecutive pages
while soup.find ('a', attrs={'class': 'pn next'}):
    print "yay"
    print count
    endOfPage = "false"
    try :
        page3 = br.follow_link(text_regex="Next")
        html3 = page3.read()
        soup3 = BeautifulSoup(html3)
        extract(soup3)
    except:
        print "End of Pages"
        endOfPage = "true"
    if valval == "true":
        break
    count = count +1
4

1 に答える 1

1

Beautiful Soup はかなり遅いです。パフォーマンスを向上させたい場合は、代わりに lxml を使用するか、CPU が多い場合は、キューでマルチプロセッシングを使用してみてください。

于 2010-12-19T05:30:55.797 に答える