Python 利用selenium和PhantomJS 爬取京东商品页面商品列表

selenium+PhantomJS 介绍、安装、使用:https://blog.csdn.net/qq_34288630/article/details/80342255

一、分析

  1. 所要爬取url:京东商品列表
  2. 如图:
    这里写图片描述
    3、每页有很多商品,打开页面只加载了一部分,所以需要滑动将所有的数据加载出来,否则获取不到
    4、故用selenium模拟浏览器下滑操作,再将页面源码给bs4进行解析抽取

二、代码编写

# coding=utf-8
import time
from selenium import webdriver
from bs4 import BeautifulSoup

url = "https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E6%89%8B%E6%9C%BA&cid2=653&cid3=655&page=1&s=1&click=0"


driver = webdriver.PhantomJS()
driver.implicitly_wait(3)
driver.get(url)

# 模拟下滑到底部操作
for i in range(1,5):
    js = "var q=document.documentElement.scrollTop=10000"
    driver.execute_script(js)
    #driver.execute("window.scrollTo(0,document.body.scrollHeight)")
    time.sleep(9)

# 将加载好的页面源码给bs4解析
soup = BeautifulSoup(driver.page_source,"lxml")

# 进行信息的抽取(商品名称,价格)
goods_info = soup.select(".gl-item")
for info in goods_info:
    title = info.select(".p-name.p-name-type-2 a")[0].text.strip()
    price = info.select(".p-price")[0].text.strip()
    print title
    print price

driver.close()

三、结果

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值