python爬虫实例电商_价值上千元的Python爬虫外包案例,学会你就赚了

a8ed2de9928232015a87e6e03f1f17cbfd94a0e2.jpg

前言

随着互联网时代的到来,人们更加倾向于互联网购物。某宝又是电商行业的巨头,在某宝平台中有很多商家数据。

今天带大家使用python+selenium工具获取这些公开的

适合人群:

Python零基础、对爬虫数据采集感兴趣的同学!

环境介绍:

python 3.6

pycharm

selenium

time

1、安装selenium模块

pip install selenium

2、请求网页地址

if __name__ == '__main__':

keyword = input('请输入你要查询的商品数据:')

driver = webdriver.Chrome()

driver.get('https://www.taobao.com')

main()

0e571106fd87604784d19ada922ff60d875f88ed.jpg

def search_product(key):

"""模拟搜索商品,获取最大页数"""

driver.find_element_by_id('q').send_keys(key)  # 根据id值找到搜索框输入关键字

driver.find_element_by_class_name('btn-search').click()  # 点击搜索案例

driver.maximize_window()  # 最大化窗口

time.sleep(15)

page = driver.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[1]')  # 获取页数的标签

page = page.text  # 提取标签的文字

page = re.findall('(\d+)', page)[0]

# print(page)

return int(page)

cd51115a8c92608450c976bb4da2cfe926ed9518.jpg

4、获取商品数据

def get_product():

divs = driver.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq  "]')

for div in divs:

info = div.find_element_by_xpath('.//div[@class="row row-2 title"]/a').text  # 商品名称

price = div.find_element_by_xpath('.//strong').text + '元'  # 商品价格

deal = div.find_element_by_xpath('.//div[@class="deal-cnt"]').text  # 付款人数

name = div.find_element_by_xpath('.//div[@class="shop"]/a').text  # 店铺名称

print(info, price, deal, name, sep='|')

with open('data.csv', 'a', newline='') as csvfile:  # newline=''  指定一行一行写入

csvwriter = csv.writer(csvfile, delimiter=',')  # delimiter=','  csv数据的分隔符

csvwriter.writerow([info, price, deal, name])  # 序列化数据,写入csv

def main():

search_product(keyword)

page = get_product()

883a775d63ebb2421493cbfc0188f54243f5ce63.jpg

3c11743abf50d78dfc3048a95e870854aa2831bb.jpg

完整代码如下:

from selenium import webdriver

import time

import re

import csv

def search_product(key):

"""模拟搜索商品,获取最大页数"""

driver.find_element_by_id('q').send_keys(key)  # 根据id值找到搜索框输入关键字

driver.find_element_by_class_name('btn-search').click()  # 点击搜索案例

driver.maximize_window()  # 最大化窗口

time.sleep(15)

page = driver.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[1]')  # 获取页数的标签

page = page.text  # 提取标签的文字

page = re.findall('(\d+)', page)[0]

# print(page)

return int(page)

def get_product():

divs = driver.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq  "]')

for div in divs:

info = div.find_element_by_xpath('.//div[@class="row row-2 title"]/a').text  # 商品名称

price = div.find_element_by_xpath('.//strong').text + '元'  # 商品价格

deal = div.find_element_by_xpath('.//div[@class="deal-cnt"]').text  # 付款人数

name = div.find_element_by_xpath('.//div[@class="shop"]/a').text  # 店铺名称

print(info, price, deal, name, sep='|')

with open('data.csv', 'a', newline='') as csvfile:  # newline=''  指定一行一行写入

csvwriter = csv.writer(csvfile, delimiter=',')  # delimiter=','  csv数据的分隔符

csvwriter.writerow([info, price, deal, name])  # 序列化数据,写入csv

def main():

search_product(keyword)

page = get_product()

if __name__ == '__main__':

keyword = input('请输入你要查询的商品数据:')

driver = webdriver.Chrome()

driver.get('https://www.taobao.com')

main()

02db465212d3c374a43c60fa2625cc1caeaab796.png

喜欢的就请关注加点赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值