博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之爬虫-京东商品
阅读量:5134 次
发布时间:2019-06-13

本文共 1630 字,大约阅读时间需要 5 分钟。

Python之爬虫-京东商品

#!/usr/bin/env python# coding: utf-8from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTORfrom selenium.webdriver.common.keys import Keys  # 键盘按键操作from selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.wait import WebDriverWait  # 等待页面加载某些元素import timedef get_goods(driver):    try:        goods = driver.find_elements_by_class_name('gl-item')        for good in goods:            detail_url = good.find_element_by_tag_name('a').get_attribute('href')            p_name = good.find_element_by_css_selector('.p-name em').text.replace('\n', '')            price = good.find_element_by_css_selector('.p-price i').text            p_commit = good.find_element_by_css_selector('.p-commit a').text            msg = '''            商品 : %s            链接 : %s            价钱 :%s            评论 :%s            ''' % (p_name, detail_url, price, p_commit)            print(msg, end='\n\n')        button = driver.find_element_by_partial_link_text('下一页')        button.click()        time.sleep(1)        get_goods(driver)    except Exception:        passdef spider(url, keyword):    driver = webdriver.Chrome()    driver.get(url)    driver.implicitly_wait(3)  # 使用隐式等待    try:        input_tag = driver.find_element_by_id('key')        input_tag.send_keys(keyword)        input_tag.send_keys(Keys.ENTER)        get_goods(driver)    finally:        driver.close()if __name__ == '__main__':    spider('https://www.jd.com/', keyword='华为P30')

转载于:https://www.cnblogs.com/nickchen121/p/10825876.html

你可能感兴趣的文章
软件是天时、地利、人和的产物!
查看>>
python定时清空本目录下除本脚本外的全部文件
查看>>
【PHP】在目标字符串指定位置插入字符串
查看>>
【JS】jQuery设置定时器,访问服务器(PHP示例)配合微信、支付宝原生支付,跳转web网页...
查看>>
实验四2
查看>>
VS2012+Win7网站发布详细步骤
查看>>
Android现学现用第十一天
查看>>
Bin Packing 装箱问题——NPH问题的暴力枚举 状压DP
查看>>
多路复用
查看>>
python 列表
查看>>
Python数据可视化之Pygal(雷达图)
查看>>
当前主流读取Excel技术对比
查看>>
js-格式化数字保留两位小数-带千分符
查看>>
【Java】forward & redirect 的差异
查看>>
Java学习笔记--字符串和文件IO
查看>>
【BZOJ1951】古代猪文(CRT,卢卡斯定理)
查看>>
poj 2823 线段树
查看>>
转 Silverlight开发历程—(画刷与着色之线性渐变画刷)
查看>>
SQL语法(3)
查看>>
在js在添版本号
查看>>