Python +机械化异步任务

时间:2010-12-19 00:41:56

标签: python multithreading web-crawler mechanize scrape

所以我有一些python代码贯穿一个美味的页面,并从中删除一些链接。提取方法包含一些提取所需内容的魔力。但是,一个接一个地运行页面非常慢 - 有没有办法在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

1 个答案:

答案 0 :(得分:1)

漂亮的汤很慢,如果你想要更好的性能使用lxml,或者如果你有很多CPU,也许你可以尝试使用队列进行多处理。