基于python获取某东信息商品信息

简介: 基于python获取某东信息商品信息

59d18d2b66e3472d8844341d06fee7c3.png


import requests
from bs4 import BeautifulSoup
import xlwt
def get_html(url):
    # 模拟浏览器访问
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53'}
    print("--> 正在获取网站信息")
    response = requests.get(url, headers=headers)  # 请求访问网站
    if response.status_code == 200:
        html = response.text  # 获取网页源码
        return html  # 返回网页源码
    else:
        print("获取网站信息失败!")
if __name__ == '__main__':
    # 创建workbook,就是创建一个Excel文档
    write_work = xlwt.Workbook(encoding='ascii')
    # 添加一张单
    write_sheet = write_work.add_sheet("sheet1")
    # 创建表头
    write_sheet.write(0, 0, label='商品编号')      # 第1行 第1列 写入内容'商品编号'
    write_sheet.write(0, 1, label='商品名称')      # 第1行 第2列 写入内容'商品名称'
    write_sheet.write(0, 2, label='价格')         # 第1行 第4列 写入内容'价格'
    write_sheet.write(0, 3, label='商家')         # 第1行 第5列 写入内容'商家'
    write_sheet.write(0, 4, label='商品详情地址')   # 第1行 第6列 写入内容'商品详情地址'
    # 记录当前行数
    _current_row = 0
    i=0
    k=0
    j=0
    for k in range(0,5):
        i = 3+k*2
        j = 56+k*60
        # 搜索关键字
        keyword = 'AJ1'
        # 搜索地址
        search_url= 'https://search.jd.com/Search?keyword=%s&suggest=1.his.0.0&wq=AJ1&pvid=65892364c2604d5897754ab21bed6d22&page=%d&s=%d&click=1'%(keyword,i,j)
        html = get_html(search_url)
        # 初始化BeautifulSoup库,并设置解析器
        soup = BeautifulSoup(html, 'lxml')
        # 商品列表
        goods_list = soup.find_all('li', class_='gl-item')
        # 打印goods_list到控制台
        for li in goods_list:  # 遍历父节点
            # 由于我们第一行已经写入了表头。所以这里0+1,就是从第1行开始,后面每次循环+1
            _current_row += 1
            if _current_row == 29:
                break
            # 商品编号
            no = li['data-sku']
            # 商品名称
            name = li.find(class_='p-name p-name-type-2').find('em').get_text()
            # 价格
            price = li.find(class_='p-price').find('i').get_text()
            # 商家
            shop = li.find(class_='p-shop').find('a').get_text()
            # 商品详情地址
            detail_addr = li.find(class_='p-name p-name-type-2').find('a')['href']
 # 写入Excel
            write_sheet.write(_current_row, 0, label=no)
            write_sheet.write(_current_row, 1, label=name)
            write_sheet.write(_current_row, 2, label=price)
            write_sheet.write(_current_row, 3, label=shop)
            write_sheet.write(_current_row, 4, label=detail_addr)
    # 保存文件,使用的是相对目录(也可以使用绝对路径),会保存在当前文件的同目录下。文件名为读取多个商品页面1.xls,必须是.xls后缀
    write_work.save("./读取多个商品页面1.xls")
相关文章
|
19天前
|
数据挖掘 数据安全/隐私保护 开发者
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
176 0
|
19天前
|
Python
数据分享|PYTHON用ARIMA ,ARIMAX预测商店商品销售需求时间序列数据
数据分享|PYTHON用ARIMA ,ARIMAX预测商店商品销售需求时间序列数据
|
1天前
|
Python 数据采集 安全
淘宝商品评论数据爬取:Python实战指南
淘宝商品评论数据的自动爬取可以为市场分析和用户行为研究提供宝贵的信息资源。然而,这一过程需要严格遵守法律法规,尊重数据的版权和隐私。通过合理利用Python的网络爬虫技术,可以在遵循道德规范的前提下,高效地完成数据采集任务。 通过本文的指南,希望你能对淘宝商品评论数据的爬取有一个清晰的认识,并能够安全、合法地进行数据采集。
|
13天前
|
网络协议 Python
在python中利用TCP协议编写简单网络通信程序,要求服务器端和客户端进行信息互传。 - 蓝易云
在这个示例中,服务器端创建一个socket并监听本地的12345端口。当客户端连接后,服务器发送一条欢迎消息,然后关闭连接。客户端创建一个socket,连接到服务器,接收消息,然后关闭连接。
69 0
|
14天前
|
索引 Python
真的!千万不要忽略这些python常见报错信息_nameerror name ‘a‘ is not defined
真的!千万不要忽略这些python常见报错信息_nameerror name ‘a‘ is not defined
|
16天前
|
SQL 存储 数据库
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
|
16天前
|
SQL 存储 数据库
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息(1)
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息(1)
|
19天前
|
存储 JSON API
怎么使用Python提取快递信息
怎么使用Python提取快递信息
15 0
|
19天前
|
监控 开发者 Python
Python中记录程序报错信息的实践指南
Python中记录程序报错信息的实践指南
19 1
|
19天前
|
开发者 Python
在Python中查询进程信息的实用指南
在Python中查询进程信息的实用指南
13 2