前言
嗨嗨,想必知道外包这个词的人应该不少吧
话说,接外包有多的也有少的,少的几十,多的emm上限我就不说了,嘿嘿
今天要不要来看看一个千元的外包项目?
是采集某购物软件的一些数据信息
咋说,有点吸引力吗,有的话就好好学python,赶紧接外包挣钱吧
selenium
Selenium
是一个 Web 的自动化测试工具,最初是为网站自动化测试而开发的,就像玩游戏用的按键精灵,可以按指定的命令自动操作。
Selenium 测试工具直接操控浏览器中,就像真正的用户在操作一样。Selenium 可以根据的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生等。
模块安装
源码.资料.素材.工具安装包.点击领取即可
pip install selenium
谷歌驱动下载地址:
https://npm.**.org/mirrors/chromedriver/
http://chromedriver.storage.googleapis.com/index.html
配置浏览器驱动:
将下载好的浏览器驱动解压,将解压出的 exe 文件放到Python的安装目录下,也就是和python.exe同目录即可。
或者
把驱动和代码放在同一个路径里面
确定目标网页
爬取内容:
商品价格
商品名字
销量
店铺名字
发货地
1.获取搜索框元素,输入想要搜索的内容
这里咱们呢搜索女士包包的关键词
driver.find_element_by_css_selector('#q').send_keys('女式包包')
2.获取搜索按钮元素,点击搜索
driver.find_element_by_css_selector('.search-button').click()
3.会弹出登陆页面
方案一:
- 获取账号和密码元素,用代码输入
- 合理设置好延时,并不会出现验证码
方案二:
- 获取支付宝登陆元素,点击手动扫码登陆
这边选择方案二,方案一是可行的,但是会账号密码,所以这个你们可以自己去尝试
driver.find_element_by_css_selector('#login-form > div.login-blocks.sns-login-links > a.alipay-login').click()
4.获取商品列表页数据
和普通爬虫解析网站数据一样的~获取列表页标签,然后再二次提取。
这里创建一个字典,接收数据,方便等会保存到csv文件。
源码.点击领取即可
lis = driver.find_elements_by_css_selector('#mainsrp-itemlist .item')
python学习交流Q群:770699889 ###
dit = {}
for li in lis:
time.sleep(1)
price = li.find_element_by_css_selector('.ctx-box .price strong').text + '元' # 商品价格
dit['商品价格'] = price
deal = li.find_element_by_css_selector('.ctx-box .deal-cnt').text # 成交量
dit['成交量'] = deal
row = li.find_element_by_css_selector('.ctx-box .row-2 a').text # 商品名字
dit['商品名字'] = row
shop = li.find_element_by_css_selector('.shop > a > span:nth-child(2)').text # 店铺名字
dit['店铺名字'] = shop
city = li.find_element_by_css_selector('.row-3 > div.location').text # 发货地址
dit['发货地址'] = city
5.保存数据
最后一步就是保存数据了,基本操作了
python学习交流Q群:770699889 ###
f = open('淘宝数据.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['商品价格', '成交量', '商品名字', '店铺名字', '发货地址'])
csv_writer.writeheader()
csv_writer.writerow(dit)
6.翻页点击下一页
def next_page():
driver.find_element_by_css_selector('#mainsrp-pager > div > div > div > ul > li.item.next > a').click()
driver.implicitly_wait(10)
7.运行效果图
最后
今天的分享到这里就结束了
给大家推荐一些Python视频教程,希望对大家有所帮助:
Python零基础教学合集
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/