使用Python爬取Taobao商品音信并进行多少可视化

也得以是那般的

万众号-智能化IT系统。每一周都有技巧文章推送,包括原创技术干货,以及技巧工作的体验分享。扫描下方关心。

图片 1

pip3 install selenium

  1. F1二(开发者选项)
  2. Notework
  3. F5(刷新)
  4. feedRateList(文件名)
  5. Headers
  6. 复制Request URL

图片 2

然后用Python对其开始展览数量解析,对于数据可视化作者相比推荐pyecharts

那边能够看来,在用户输入天猫商城后,需求效法输入,在输入框输入“男子短袖”。

 

图片 3

 

51~57行

想要爬取评论第3件事便是找到真正的UHummerH贰L地址,具体步骤:

图片 4

图片 5

查看执行后的结果,如下图所示:

 

一. Selenium和PhantomJS介绍

以后人们正是是买个牙刷或然都会在天猫方面,而且在买东西的时候每一个人都会做的一件工作就是看评论,看看后边买家评论驾驭商品质量,外观是还是不是和图纸相同等等。可是要是确实想要一条一条去看的话,那日子是真的要很多,当然了一旦买的小物件那倒无所谓,若是是相比高贵的物品就不能不得好赏心悦目了(PS:在笔者心里100以上正是贵重物品,哈哈哈哈)

Selenium模块是Python的第壹方库,能够透过pip举办设置:

然后去除不供给的字段,获取自个儿想要的内容

在那几个案例中,选用PhantomJS。Selenium和PhantomJS的卓殊使用能够完全模仿用户在浏览器上的拥有操作,包含输入框内容填写、单击、截屏、下滑等各个操作。那样,对于须求报到的网址,用户能够不需求经过协会表单或提交cookie音信来报到网址。

 

10~11行

图片 6

from selenium import webdriver

help(webdriver)

万一是形似人为了让自个儿买的事物放心当然是选项一条一条看,大概直接去实体店买。可是身为技(chui)术(niu)人(zhuang)员(bi)的作者,肯定是用Python批量爬取Tmall商品新闻并展开简易的数量解析啦~~~~

Selenium自个儿不带浏览器,要求合营第叁方浏览器来接纳。通过help命令查看Selenium的Webdriver作用,查看Webdriver协助的浏览器:

它能够是那般的

爬取的始末有商品价位、付款人数、商品名称、商户名称和地方,如下图所示:

只要你想要进行简易多少解析的话,那可以把爬取下来的评说保存下去。

伍. 代码解析

看看运维后的功用图

图片 7

 

那边所举的案例,是采取Selenium爬取天猫商城商品音讯,爬取的始末为天猫商城网(https://www.taobao.com/)上男士短袖的商品信息,如下图所示:

图片 8

图片 9

图片 10

提起底把爬取数据存储到MongoDB数据库中。

图片 11

分页处理。

6~8行

35~47行

四. 源代码

1~4行

此处把除了selenium之外所供给的知识列一下,那里就不做详细表达了,借使不亮堂的话能够百度询问下。

Selenium是二个用以Web应用程序测试的工具,Selenium直接运营在浏览器中,就如真的的用户在操作一样。由于那脾本性,Selenium也是二个强大的网络数据收集工具,其得以让浏览器自动加载页面,那样,使用了异步加载技术的网页,也可获得其急需的数额。

二. 案例介绍

———————————————————

开拓mongoDB,举办仓库储存准备。

14~33行

图片 12

接纳selenium模拟输入“男子短袖”,并模仿点击操作,并收获到对应的页面消息,调取主方法分析。

  • mongoDB的使用,以及在python中用mongodb实行多少存款和储蓄。

  • lxml,爬虫3大方法之一,解析效用相比较高,使用难度相比较正则表达式要低(上壹篇小说的剖析方法是正则表达式)。

  • 暂停休息的措施:driver.implicitly_wait

代码如下所示,可复制直接执行:

案例中动用Selenium和PhantomJS,模拟电脑的搜寻操作,输入商品名称举行搜索,如图所示,“检查”搜索框元素。

最大化PhantomJS窗口。

from selenium import webdriverfrom lxml import etreeimport timeimport pymongoclient = pymongo.MongoClient('localhost',  27017)mydb = client['mydb']taobao = mydb['taobao']driver = webdriver.PhantomJS()driver.maximize_window() def get_info:     page = page + 1     driver.get     driver.implicitly_wait(10)     selector = etree.HTML(driver.page_source)     infos = selector.xpath('//div[@]')     for info in infos:        data = info.xpath('div/div/a')[0]        goods =  data.xpath('string').strip()        price = info.xpath('div/div/div/strong/text()')[0]        sell =  info.xpath('div/div/div[@]/text()')[0]        shop =  info.xpath('div[2]/div[3]/div[1]/a/span[2]/text()')[0]        address =  info.xpath('div[2]/div[3]/div[2]/text()')[0]        commodity = {            'good':goods,            'price':price,            'sell':sell,            'shop':shop,            'address':address        }        taobao.insert_one(commodity)     if page <= 50:        NextPage     else:        passdef NextPage:     driver.get     driver.implicitly_wait(10)         driver.find_element_by_xpath('//a[@trace="srp_bottom_pagedown"]').click()     time.sleep(4)     driver.get(driver.current_url)     driver.implicitly_wait(10)     get_info(driver.current_url,page)if __name__ == '__main__':     page = 1     url = 'https://www.taobao.com/'     driver.get     driver.implicitly_wait(10)     driver.find_element_by_id('q').clear()     driver.find_element_by_id('q').send_keys('男士短袖')     driver.find_element_by_class_name('btn-search').click()     get_info(driver.current_url,page)

选取lxml抓取网页数据,分别定位到所供给的新闻,并把音信集成至json,存款和储蓄至mongoDB。

导入程序须求的库,selenium库用于模拟请求和相互。lxml解析数据。pymongo是mongoDB
的交互库。

与此同时如下图所示,“检查”下壹页成分:

三. 相关技术

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图