抓取卖家精灵关键词趋势选品数据并写入excel(包含图片)

本文介绍如何利用编程技术抓取卖家精灵平台的关键词趋势信息,并将数据整理成Excel表格,同时包括了如何保存相关图表,以便进行数据分析和产品选品决策。
摘要由CSDN通过智能技术生成
import requests
from lxml import etree
import urllib3
import time
import ssl
from openpyxl import workbook
from openpyxl import load_workbook
import math
import random
import os
import socket
from openpyxl.drawing.image import Image

ssl._create_default_https_context = ssl._create_unverified_context
urllib3.disable_warnings()
headers = {
   
    "authority": "www.sellersprite.com",
    "referer": "https://www.sellersprite.com/w/user/login?callback=/v2/keyword-research-weekly%3Fstation%3DUS%26order.field%3Dsearchfrequencyrank%26order.desc%3Dfalse%26usestatic%3DR%26usesWeekly%3Dweekly%26marketId%3D1%26limitUserStatic%3Dtrue%26adminDes%3DS%26departments%255B8%255D%3Dfashion%26departments%255B19%255D%3Dsporting%26table%3Dara_20210522%26minSearchRank%3D%26maxSearchRank%3D20000%26rankGrowthType%3DW1%26rankGrowthValue%3D%26rankGrowthRate%3D30%26minMonopolyClickRate%3D%26maxMonopolyClickRate%3D%26includeKeywords%3D%26excludeKeywords%3D",
    "cookie": 'ecookie=92Eo8RhbjmmgZRRF_CN; rank_c_s_ind=1; current_guest=cdklCvVfIr7L_210112-138175; crisp-client%2Fsession%2F02ce6ae3-e1ab-4bb7-ae11-b1a839c52e78=session_9af6804b-33bc-4415-8201-d9e385a463b3; crisp-client%2Fsocket%2F02ce6ae3-e1ab-4bb7-ae11-b1a839c52e78=1; _ga=GA1.1.615595330.1610015957; _ga_CN0F80S6GL=GS1.1.1622623233.16.0.1622623233.0; rank-login-user=0539182261IrZXNTSoIlHhPKyHGfg/7TMbw6xY7YpCjminsqgfQO01sO7Vs0fjP++yMJ6b2vGp; rank-login-user-info="eyJuaWNrbmFtZSI6IkZTMDAyR1oiLCJpc0FkbWluIjpmYWxzZSwiYWNjb3VudCI6IkZTMDAyR1oiLCJ0b2tlbiI6IjA1MzkxODIyNjFJclpYTlRTb0lsSGhQS3lIR2ZnLzdUTWJ3NnhZN1lwQ2ptaW5zcWdmUU8wMXNPN1ZzMGZqUCsreU1KNmIydkdwIn0="; ao_lo_to_n="0539182261IrZXNTSoIlHhPKyHGfg/7f5qKmPRnt6HO48ic0PwAPgIQajuil1uqdcqigRmRGHWRt3NPT84Nj3oG9Y9Hm9uOJyJBHjET9hDGQbyyFMZQDY="; JSESSIONID=9B36F9363416CC18CF8727E83A0430D9',
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
    "path": "/v2/keyword-research-weekly?station=US&table=ara_20210522&departments%5B0%5D=&departments%5B1%5D=&departments%5B2%5D=&departments%5B3%5D=&departments%5B4%5D=&departments%5B5%5D=&departments%5B6%5D=&departments%5B7%5D=&departments%5B8%5D=fashion&departments%5B9%5D=&departments%5B10%5D=&departments%5B11%5D=&departments%5B12%5D=&departments%5B13%5D=&departments%5B14%5D=&departments%5B15%5D=&departments%5B16%5D=&departments%5B17%5D=&departments%5B18%5D=&departments%5B19%5D=sporting&order.field=searchfrequencyrank&order.desc=false&rankGrowthType=W1&rankGrowthRate=30.0&maxSearchRank=20000&includeKeywords=&excludeKeywords=&page=1&size=50",
    "sec-ch-ua": '" Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
}


def get_page_url_list(num, size):
    page_url_list = []
    basic_url = "https://www.sellersprite.com/v2/keyword-research-weekly?station=US&table=ara_20210522&departments%5B0%5D=&departments%5B1%5D=&departments%5B2%5D=&departments%5B3%5D=&departments%5B4%5D=&departments%5B5%5D=&departments%5B6%5D=&departments%5B7%5D=&departments%5B8%5D=fashion&departments%5B9%5D=&departments%5B10%5D=&departments%5B11%5D=&departments%5B12%5D=&departments%5B13%5D=&departments%5B14%5D=&departments%5B15%5D=&departments%5B16%5D=&departments%5B17%5D=&departments%5B18%5D=&departments%5B19%5D=sporting&order.field=searchfrequencyrank&order.desc=false&rankGrowthType=W1&rankGrowthRate=30.0&maxSearchRank=20000&includeKeywords=&excludeKeywords=&page={}&size={}"
    for i in range(math.ceil(num / size)):
        page_url_list.append(basic_url.format(i + 1, size))
    return page_url_list


# 创建存放图片的文件夹
def get_image_file_name_list(keyword, image_name_list):
    # 当前工作目录
    current_dir = os.getcwd()
    target_dir = current_dir + "\\" + keyword + "\\"
    # 如果文件夹不存在就创建
    if os.path.exists(target_dir) == False:
        os.mkdir(keyword)
    image_file_name_list = [target_dir + x + ".jpg" for x in image_name_list]
    return image_file_name_list


# 下载图片
def download_image(image_url_list, image_file_name_list):
    exception_image_url_list = []
    exception_image_name_list = []
    for i in image_url_list:
        try:
            res = requests.get(i, headers=headers, verify=False, timeout=100)
            # time.sleep(random.randint(1, 5))
            res.close()
            socket.setdefaulttimeout(30)
            with open(image_file_name_list[image_url_list.index(i)], 'wb') as f:
                f.write(res.content<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python可以使用第三方库如BeautifulSoup和pandas来抓取网页数据写入Excel。 首先,使用requests库获取网页的HTML代码,然后使用BeautifulSoup库解析HTML代码,提取需要的数据。接着,使用pandas库将数据写入Excel文件中。 以下是一个简单的示例代码: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 获取网页HTML代码 url = 'https://www.example.com' response = requests.get(url) html = response.content # 解析HTML代码,提取数据 soup = BeautifulSoup(html, 'html.parser') data = [] for item in soup.find_all('div', class_='item'): title = item.find('h2').text price = item.find('span', class_='price').text data.append([title, price]) # 将数据写入Excel文件 df = pd.DataFrame(data, columns=['Title', 'Price']) df.to_excel('data.xlsx', index=False) ``` 这个示例代码抓取了一个网页上的商品标题和价格,并将数据写入名为"data.xlsx"的Excel文件中。需要注意的是,需要安装相应的第三方库才能运行这个代码。 ### 回答2: Python是一种易于学习且功能强大的编程语言,可以用于各种数据处理任务和自动化任务,例如抓取网页数据写入Excel表格。 在Python中,我们可以使用许多库来实现这个任务,其中最常用的是BeautifulSoup、Requests和Openpyxl库。以下是一些步骤可以帮助我们开始使用Python抓取网页数据并将其写入Excel: 第一步:安装需要的库 我们需要在Python环境中安装BeautifulSoup、Requests和Openpyxl库,这可以通过使用命令行工具(例如pip)来完成。例如,我们可以使用pip install BeautifulSoup4 requests openpyxl来安装这些库。 第二步:使用Requests库获取HTML内容 我们需要使用Requests库向URL发出HTTP请求,以检索HTML内容。例如,我们可以使用Requests.get(url)函数来获取指定URL中的HTML内容。获取的内容可以保存在response.text变量中。 第三步:使用BeautifulSoup库解析HTML内容 我们需要使用BeautifulSoup库来解析HTML内容并提取所需的信息。例如,我们可以使用BeautifulSoup(response.text, 'html.parser')函数来解析HTML文档,并使用find_all和find方法来查找所需的信息。 第四步:使用Openpyxl库创建Excel表格并写入数据 我们需要使用Openpyxl库来创建一个Excel表格,并使用它来保存所需的数据。我们可以使用Workbook()函数来创建一个新的Excel工作簿,并使用它来创建一个新的工作表。然后,我们可以将数据写入单元格中,并使用save()函数将其保存到磁盘上。 例如,以下是一个Python脚本,它将抓取天气预报网站的内容,并将其写入Excel文件中: ```python import requests from bs4 import BeautifulSoup from openpyxl import Workbook # 抓取天气预报网站的内容 url = 'https://www.weather.com.cn/weather/101050101.shtml' response = requests.get(url) # 解析HTML内容并提取所需的数据 soup = BeautifulSoup(response.text, 'html.parser') city = soup.find_all('input', {'id': 'city'})[0]['value'] weather = soup.find_all('li', {'class': 'sky'})[0].text.strip() # 创建一个新的Excel文件并写入数据 wb = Workbook() ws = wb.active ws['A1'] = '城市' ws['B1'] = '天气预报' ws['A2'] = city ws['B2'] = weather wb.save('weather.xlsx') ``` 上述代码将抓取天气预报网站的内容,并从HTML文档中提取城市名称和天气预报信息。然后,它将这些数据写入Excel文件,以便稍后使用。 最终结果应该是一个名为“weather.xlsx”的Excel文件,其中包含以下内容: 城市 天气预报 南京市 多云转阴 总之,使用Python编写代码可以轻松地抓取网页数据并将其写入Excel表格。我们可以使用Requests库来检索HTML内容,使用BeautifulSoup库来解析HTML内容,并使用Openpyxl库来创建Excel表格并将数据写入其中。这些库都是Python生态系统中流行和有用的库,任何Python开发人员都应掌握它们。 ### 回答3: Python是一种轻量级的编程语言,在数据处理和爬虫方面具有很强的能力。Python中的Requests、BeautifulSoup和openpyxl等模块提供了相应的解决方案,可实现对网页数据进行抓取写入Excel表格的功能。 具体流程如下: 1.引入所需模块 import requests from bs4 import BeautifulSoup import openpyxl 2.发送get请求并获取网页内容 url = "https://www.baidu.com/" response = requests.get(url) html = response.text 3.使用BeautifulSoup解析网页内容 soup = BeautifulSoup(html, "html.parser") data = [] for item in soup.find_all('a'): data.append(item.string) 4.创建Excel工作簿并写入数据 workbook = openpyxl.Workbook() worksheet = workbook.active for row in range(1, len(data)+1): worksheet.cell(row=row, column=1, value=data[row-1]) workbook.save('data.xlsx') 以上就是基本的Python抓取网页数据写入Excel的流程。需要注意的是,网页内容的解析需要根据具体网页的结构进行调整,同时在写入Excel数据时需要根据行列进行适当的调整,以确保数据能够正确地写入表格中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值