Python之爬虫-京东商品

#!/usr/bin/env python
# coding: utf-8 from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys # 键盘按键操作
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait # 等待页面加载某些元素
import time def 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:
pass def 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')

最新文章

  1. java调用sqlldr oracle 安装的bin目录
  2. edge 浏览器中数字显示为链接
  3. 重构alert,confirm
  4. ettercap
  5. Effective c++ 小结
  6. Computational Geometry Template_Polygon
  7. __无标题栏的窗口拖动___javafx
  8. MySql绿色版应用
  9. 使用EndNote在Word中插入参考文献的格式设置
  10. 编程语言 Node.js中使用到的npm工具
  11. Django中上传图片---避免因图片重名导致被覆盖
  12. spark2.1源码分析3:spark-rpc如何实现将netty的Channel隐藏在inbox中
  13. Centos7下面配置客户端OpenVPN
  14. FileZilla 使用笔记
  15. Router types
  16. ubuntu下msmtp+mutt的安装和配置
  17. NonWindowJoin
  18. 一个Java例子,解释清楚注解的作用
  19. java-基础-【四】实际编程中的对象
  20. Hadoop2.7.3+spark2.1.0+hbase0.98分布式集群部署

热门文章

  1. bzoj 3456: 城市规划【NTT+多项式求逆】
  2. bzoj 2288: 【POJ Challenge】生日礼物【链表+堆】
  3. win7下硬盘安装Windows
  4. Selenium定位多个iframe嵌套中的元素
  5. Poj 3189 Steady Cow Assignment (多重匹配)
  6. 题解报告:hdu 1220 Cube
  7. 员工管理系统(集合与IO流的结合使用 beta4.0 ObjectInputStream/ ObjectOutputStream)
  8. 微信小程序组件解读和分析:十二、picker滚动选择器
  9. iOS 蓝牙的GameKit用法
  10. 洛谷 P1364 医院设置