首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python Selenium WebDriver Scraping - 单页需要45秒

Python Selenium WebDriver Scraping - 单页需要45秒
EN

Stack Overflow用户
提问于 2018-09-06 06:46:11
回答 1查看 0关注 0票数 0

我正在使用Selenium,Chrome从房地产上市网站中提取房屋信息。

每个页面有10个元素,包含每个房子的信息(页面上列出的10个房屋)。Requests和Urllib模块不能用于此目的。

一切正常,我从页面获取所需的所有数据。但是,我的For Loop总共需要45秒来处理10个房屋。有没有办法加快速度呢?我的代码是不是很草率?

我对python很新 - 我应该使用Threading或者Java也许?那些是我找到的解决方案,但我可以使用一些确认。我只使用Selenium进行测试。

我很欣赏每一个建议。提前致谢!

码:

代码语言:javascript
复制
while pagenum < 3:
    driver.get(website.format(pagenum))
    houses = driver.find_elements_by_class_name("search-result-content")

    ## len(houses) is 10

    for item in houses:

        st, pc1 = item.find_element_by_css_selector('h3.search-result-title').text.strip().split("\n")
        ## pc1= '1234 AB Testcity'

        pc = pc1[:7] 
        ## pc = '1234 AB'
        ci = pc1[8:] 
        ## ci = 'Testcity'

        pr = item.find_element_by_css_selector('div.search-result-info-price').text
        wo = item.find_element_by_class_name('search-result-kenmerken').find_elements_by_tag_name('span')[0].text
        ka = item.find_element_by_class_name('search-result-info').find_element_by_xpath('//*[contains(text(),"rooms")]').text
        mk = item.find_element_by_class_name('search-result-agent-name').text
        ul = item.find_element_by_css_selector('a').get_attribute('href')

        try:
            po = item.find_element_by_class_name('search-result-details').find_elements_by_tag_name('span')[1].text
        except Exception as e:
            po = "-"

        writer.writerow([st, pc, ci, pr, wo, po, ka, mk, ul])
EN

回答 1

Stack Overflow用户

发布于 2018-09-06 16:33:39

你可以看看Scrapy。这是快速网络抓取的好方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档