qq_40719612 2019-03-13 17:52 采纳率: 0%
浏览 813

selenium爬取淘宝美食数据的问题

我的代码是这样的

from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
browser = webdriver.Chrome()
wait = WebDriverWait(browser, 10)
def search():
    try:
        browser.get('https://www.taobao.com')
        input = wait.until(
            EC.presence_of_element_located((By.CSS_SELECTOR, '#q'))
        )
        submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#J_TSearchForm > div.search-button > button')))
        input.send_keys('美食')
        submit.click()
        total = wait.until(
            EC.presence_of_all_elements_located((By.CSS_SELECTOR, '#mainsrp-pager > div > div > div > div.total'))
        )
        return total.text
    except TimeoutException:
        return search()

def main():
    total = search()
    print(total)


if __name__ == '__main__':
    main()

到这一步时我希望看一下输出结果,可是出现了报错

Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/tbms/spider.py", line 29, in <module>
    main()
  File "C:/Users/Administrator/PycharmProjects/tbms/spider.py", line 25, in main
    total = search()
  File "C:/Users/Administrator/PycharmProjects/tbms/spider.py", line 20, in search
    return total.text
AttributeError: 'list' object has no attribute 'text'

Process finished with exit code 1

看到站内其它的淘宝美食数据都是这样写的,有些不懂问题出在哪里

  • 写回答

1条回答 默认 最新

  • 元气皮皮 2019-03-14 11:30
    关注

    你这个有两个问题,一个是淘宝是要登录的,你进不去下个网页,第二个问题是你的报错,你可以print(total)看下,total里面是什么,你要的是什么,我看了一下淘宝的网页结构,估计应该是淘宝标题的几个div和美食没啥关系

    评论

报告相同问题?

悬赏问题

  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机