欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3[爬虫实战] 使用selenium,xpath爬取京东手机(上)

程序员文章站 2024-02-26 13:06:52
...

当然了,这个任务也是从QQ群里面接过来的,主要是想提升自己的技术,一接过来是很开心的,但是,接完之后,写了又写,昨晚写了3小时,前提晚上写了2小时,搞的有些晚了,搞来搞去就卡在一个地方了,希望懂的大神们多帮忙指点一下,

使用selenium ,可能感觉用的并不是很深刻吧,可能是用scrapy用多了的缘故吧。不过selenium确实强大,很多反爬虫的都可以用selenium来解决掉吧。

好了,扯得蛋好疼,开始下文吧,首先,我们爬取的内容:

python3[爬虫实战] 使用selenium,xpath爬取京东手机(上)

没错,我们爬取的就是这些数据,当然就是指定这款手机了。包括手机的价格,手机的链接,当然了, 手机标题文字,什么的也都可以进行爬取,这里主要讲的是使用selenium 爬取京东上的手机商品信息

思路:

入口:
python3[爬虫实战] 使用selenium,xpath爬取京东手机(上)

这里使用的Chrome 浏览器,方便能看到信息是否录入正确,
这里,我们首先找到输入框,然后填上 zuk z2 手机 然后再找到 搜索按钮,选中点击后, 然后再找到zuk z2手机(蓝色的字体)

这样子点完之后,我们就会出现第一页的那个图片,显示的手机商品信息

这样子我们就把整个逻辑走完了,剩下的就交给代码了,里面的注释还算详细。

# -*- coding: utf-8 -*-
# @Time    : 2017/9/18 19:52
# @Author  : 蛇崽
# @Email   : aaa@qq.com
# @File    : TaoBaoZUK1.py  联想zuk z1 手机评论信息爬取

import re
import time
from selenium import webdriver
import os
from lxml import etree

chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
browser = webdriver.Chrome(chromedriver)

url = "https://www.jd.com/"
browser.get(url)
time.sleep(5)
#手机号登录
phoneLogin = browser.find_element_by_xpath('//*[@id="key"]')
phoneLogin.send_keys('ZUK Z2手机')

time.sleep(3)
# 搜索
btnNext = browser.find_element_by_xpath('//*[@id="search"]/div/div[2]/button')
btnNext.click()

# 找到手机一栏
time.sleep(3)
btnPhone = browser.find_element_by_xpath('//*[@id="J_searchWrap"]/div[2]/a')
btnPhone.click()
page = browser.page_source
html = etree.HTML(page)

links = html.xpath("//*[@id='J_goodsList']/ul[@class='gl-warp clearfix']")
print('links',links)
for link in links:
    verlink = link.xpath("./li[@class='gl-item']/div[@class='gl-i-wrap']/div[@class='p-img']/a/@href")


    price = link.xpath("./li[@class='gl-item']/div[@class='gl-i-wrap']/div[@class='p-price']/strong/text()")
    print(price)
    print(verlink)

print(len(links))

这里控制台打印了一下链接信息(需求如此):

python3[爬虫实战] 使用selenium,xpath爬取京东手机(上)

整个爬虫过程就完了, 这些算简单的新手爬京东商品信息的demo,喜欢的可以点个赞。
项目已上传到github上了。