Python3 用python获取淘宝网的信息并存入文本文件

# 淘宝网
# 从selenium引入 webdriver
from selenium import webdriver
import time

# 声明一个类
class TaoBao(object):
    # 初始化时,传递要查询的商品关键词
    def __init__(self,keyword):

        self.keyword = keyword

    def start_taobao(self):
        # 1.创建浏览器对象,运行会自动打开
        driver = webdriver.Firefox()
        # 2.打开淘宝网址
        driver.get('https://www.taobao.com')
        # 3.通过id找到输入框
        search_input = driver.find_element_by_id('q')
        # 4.输入搜索的关键词
        search_input.send_keys(self.keyword)
        # 5.通过class找到搜索按钮
        search_btn = driver.find_element_by_class_name('btn-search')
        # 6.点击搜索按钮
        search_btn.click()
        time.sleep(2)
        # 1.打开文件 encoding = 'utf-8' 指定打开文件的字符编码
        file_handle = open('%s.txt' %self.keyword, 'w', encoding='utf-8')

        for x in range(1, 11):
            print('正在获取第%s页数据,请稍后.....' % x)

            # for循环执行5次
            for x in range(1, 11, 2):
                # 休眠
                time.sleep(1)
                # 把x转换为小数
                j = x / 10

                # 拼接让浏览器滚动的js代码
                js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight *     %f' % j
                # 执行让浏览器滚动的js代码
                driver.execute_script(js)

            # 查找当前页面所有的商品信息,返回的是一个列表
            shops = driver.find_elements_by_class_name('info-cont')
            if len(shops) == 0:
                shops = driver.find_elements_by_class_name('J_MouserOnverReq')

            # for循环遍历列表,取出每一个产品信息
            for shop in shops:
                # 2.写入文件商品信息
                file_handle.write(shop.text)
                file_handle.write('\n\n')

            # 找到下一页,点击
            # 找到li标签下一页
            next_li = driver.find_element_by_class_name('next')
            next_li.click()

        # 3.
        # 4.
        driver.close()
# __name__ 值为__main__表示从当前文件开始运行
# __name__ 值为当前文件名称  表示从别的文件运行
if __name__ == '__main__':
    print(__name__)

# 输入查询的关键词
    keyword = input('请输入要查询的商品关键词:')
    tb = TaoBao(keyword)
    tb.start_taobao()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值