0627.selenium请求库*2

昨天已经介绍了关于selenium的简单基本基本使用——通过两种方式自动打开和关闭谷歌浏览器今天,我们将介绍的模块将是在昨天打开谷歌浏览器的基础上,打开某一个电商平台,并搜索某一个产品,利用前面学的知识将所有产品的信息爬取出来。

我们以打开京东官网为例:

  • 建立try模块,捕获异常

try:
# 捕获异常
except Exception as e:
    print(e)
# 不论发生什么异常,都会驱动浏览器关闭
finally:
    driver.close()
  • 向京东主页发送请求
# 往京东主页发送请求
driver.get('https://www.jd.com/')
  • 输入商品名目

# 通过id查找input输入框
input_tag = driver.find_element_by_id('key')
 
# send_keys为当前标签传值
input_tag.send_keys('公仔')
 
# 按键盘的回车键
input_tag.send_keys(Keys.ENTER)
 
time.sleep(3)
  • 通过for循环遍历每一个商品

for good in good_list:
       # 通过属性选择器查找商品详情页url
       # url
       good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href')
       print(good_url)
 
       # 名称
       good_name = good.find_element_by_css_selector('.p-name em').text
       print(good_name)
 
       # 价格
       good_price = good.find_element_by_class_name('p-price').text
       print(good_price)
 
       # 评价数
       good_commit = good.find_element_by_class_name('p-commit').text
       print(good_commit)
 
 
       str1 = f'''
       url: {good_url}
       名称: {good_name}
       价格: {good_price}
       评价: {good_commit}
       \n
       '''
  • 把商品信息储存到文本中

# 把商品信息写入文本中
    with open('jd.txt', 'a', encoding='utf-8') as f:
        f.write(str1)
posted @ 2019-06-29 13:45  chestnuttt  阅读(130)  评论(0编辑  收藏  举报