IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 双十一刚过,写了一个selenium爬取淘宝商品信息的爬虫 -> 正文阅读

[开发测试]双十一刚过,写了一个selenium爬取淘宝商品信息的爬虫

from selenium import webdriver
import random#用于设置随机等待
import time


word='游戏本'
infos = []
prices = []
deals = []
names = []
locations = []

#登录模块
def search_product(keyword):
	
	driver.find_element_by_xpath('//*[@id="q"]').send_keys(keyword)
	#为了避免被检测,要模拟用户
	time.sleep(random.randint(1,3))#1到3秒随机等待
	driver.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button').click()
	time.sleep(random.randint(1,3))
	#,解决登录
	driver.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys("账号")
	time.sleep(random.randint(1,3))
	driver.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys('密码')
	time.sleep(random.randint(1,3))
	driver.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()
	time.sleep(random.randint(1,3))

def fanye():
	a=5
	for i in range(1,16):
		if i<4:
			parse_data()
			time.sleep(random.randint(1,3))
			print(f'第{i}页爬取成功')
			driver.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/ul/li[8]/a').click()
		elif 4<=i<=6:
			b=a+i
			parse_data()
			time.sleep(random.randint(1,3))
			print(f'第{i}页爬取成功')
			driver.find_element_by_xpath(f'//*[@id="mainsrp-pager"]/div/div/div/ul/li[{b}]/a').click()
		elif i>=6:
			b=a+i
			parse_data()
			time.sleep(random.randint(1,3))
			print(f'第{i}页爬取成功')
			driver.find_element_by_xpath(f'//*[@id="mainsrp-pager"]/div/div/div/ul/li[11]/a').click()
		elif 6<=i<=8:
			b=a+i
			parse_data()
			time.sleep(random.randint(1,3))
			print(f'第{i}页爬取成功')
			driver.find_element_by_xpath(f'//*[@id="mainsrp-pager"]/div/div/div/ul/li[{b}]/a').click()
			#//*[@id="mainsrp-pager"]/div/div/div/ul/li[11]/a
		#	//*[@id="mainsrp-pager"]/div/div/div/ul/li[11]/a
			#//*[@id="mainsrp-pager"]/div/div/div/ul/li[11]/a
	#//*[@id="mainsrp-pager"]/div/div/div/ul/li[9]/a
	#//*[@id="mainsrp-pager"]/div/div/div/ul/li[10]/a

		time.sleep(random.randint(1,3))
	

#下载模块
def parse_data():
	#解析商品数据
	#多个商品数据解析
	#//*[@id="mainsrp-itemlist"]/div/div
	divs=driver.find_elements_by_xpath('//div[@class="grid g-clearfix"]/div/div')#加个s变成列表!!!
	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/span[2]').text#店名
		location=div.find_element_by_xpath('.//div[@class="location"]').text#地址

		infos.append(info)
		prices.append(price)
		deals.append(deal)
		names.append(name)
		locations.append(location)

#		deal_url=div.find_element_by_xpath('.//div[@class="pic"]/a').get_attribute('href')

    print(info)
	print(price)
	print(deal)
	

#创建浏览器对象
driver=webdriver.Chrome()
#修改浏览器的内部属性



#执行浏览器操作
driver.get('https://www.taobao.com/')
driver.implicitly_wait(10)#智能化等待
#driver.maximize_window()#最大化浏览器

#调用搜索函数
search_product(word)
fanye()
workbook.close()
time.sleep(1)
driver.quit()
print("爬取结束")

可以的话,请点赞关注

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:35:22  更:2021-11-28 11:35:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:42:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码