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

来源:互联网 发布:免费.tk域名的注册 编辑:程序博客网 时间:2024/06/08 11:29

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

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

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

京东手机

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

思路:

入口:
关键字搜索入口

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

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

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

# -*- coding: utf-8 -*-# @Time    : 2017/9/18 19:52# @Author  : 蛇崽# @Email   : 17193337679@163.com# @File    : TaoBaoZUK1.py  联想zuk z1 手机评论信息爬取import reimport timefrom selenium import webdriverimport osfrom lxml import etreechromedriver = "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_sourcehtml = 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))

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

链接信息

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

阅读全文
0 0
原创粉丝点击