京东商品爬取

仅供学习

一.使用selenium

from selenium import webdriver

from selenium.webdriver.common.keys import Keys #键盘按键操作from selenium.webdriver.support import expected_conditions as EC

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='nn')

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='iPhone8手机')

二.不使用selenium

from requests_html import HTMLSession

session = HTMLSession()

page=1

while True:

res =session.get(f'https://search.jd.com/Search?keyword=苹果8&enc=utf-8&page={page*2-1}') #keyword搜索内容 #enc编码格式 #8page页数*2-1

res.html.encoding='utf8'

info_list=res.html.xpath('//*[@class="gl-i-wrap"]')

if not info_list:

print(f'一共爬取{page}页')

break

print(f'url={res.url}第{page}页',[info.text for info in info_list])

page+=1

三.个人感觉

selenium真的慢- -

内容来源于网络如有侵权请私信删除

python爬虫电商京东_python爬虫-京东商品爬取相关推荐

  1. python 获取li的内容_Python开发案例:爬取四川省统计局数据Matplotlib绘图

    开发环境 Windows 10 企业版 Pycharm 2019.01 EAP Community Edition Python 3.7 前言 四川省统计局提供了过去若干月份的统计数据.统计局提供的数 ...

  2. 实战案例|拒绝信息泄露,腾讯云助力电商对抗网络爬虫

    爬虫对电商平台的威胁由来已久.电商行业中,商品.交易.会员等信息的价值极高,往往是黑产重点觊觎的目标.电商行业的黑产爬虫,不仅专业性高,且变化速度之快,常常让电商从业者们疲于应付.如何高效抵御爬虫,守 ...

  3. python爬虫有多少种方式_python爬虫-----Python访问http的几种方式

    爬取页面数据,我们需要访问页面,发送http请求,以下内容就是Python发送请求的几种简单方式: 会使用到的库  urllib   requests 1.urlopen import urllib. ...

  4. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  5. python 北上资金_python爬虫技术:北向资金数据自动爬取!

    好久不见!今天我们继续python的话题啦.python现在势头凶得很,没事刷抖音.刷朋友圈.看公众号,弹出的广告总少不了python."python带你发家致富,财富自由!"广告 ...

  6. python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  7. python爬虫知乎代码_python爬虫知乎的简单代码实现

    随着时代的发展,我们很依赖网络帮助我们解决问题,遇到什么问题就会先百度.除了百度,现在大多数人还会选择通过知乎来解决问题.知乎类似于一个论坛,讨论度比百度高一些,那你知道如何用python爬虫爬知乎网 ...

  8. python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  9. python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

最新文章

  1. 经常使用的npm命令
  2. 通过文件读写方式实现Matlab和Modelsim的联合仿真
  3. 自定义ViewGroup(1)
  4. Android 系统(270)---开机广播的简单守护以及总结
  5. sht-11c语言程序,温湿度传感器SHT11数据手册(中文)版.pdf
  6. TensorFlow 2.0和PyTorch谁更好?大牛们争了好几天
  7. jQuery 异步上传插件 Uploadify 使用 (Java平台)
  8. jquery 遍历无限极树_jQuery parent()和children()树遍历函数示例
  9. Java中的各种数据类型的转换
  10. linux服务器上怎么运行exe,用Linux服务器运行exe文件
  11. android开发的小程序,一份基于Android平台系统下初学者开发的微信小程序的新
  12. 计算机基本概念--超标量,多发射
  13. android手机刷ios6,iOS8.4降级6.1.3教程 iPhone4s降级iOS6.1.3
  14. SD卡驱动-基础知识
  15. Win11录屏数据保存在哪里?Win11录屏数据保存的位置
  16. Aras Innovator: 如何快速的装多份innovatorSample数据到不同的数据库
  17. 木瓜奇迹洗服务器维护,木瓜奇迹各种职业+点法
  18. joomla 视频_Joomla的成年
  19. The artifact org.apache.commons:commons-io:jar:1.3.2 has been relocated to commons-io:commons-io:jar
  20. java笔试题(一)

热门文章

  1. vector iterator not incrementable 的问题
  2. 17.丰富的else语句和简洁的with语句
  3. 你应该更新的Java知识之常用程序库
  4. Java Annotation的RetentionPolicy介绍
  5. Image classification with deep learning常用模型
  6. Ubuntu安装smplayer播放器
  7. 编程之美-控制CPU占用率曲线方法整理
  8. 神经网络 Stanford UFLDL
  9. javascript系列-class10.DOM(下)
  10. Linux磁盘分区及文件系统管理之基础概念