0
点赞
收藏
分享

微信扫一扫

Python爬取数据

可以爬取淘宝网上搜索关键词后的商品信息,并将其保存在本地文件中。需要使用到 requestsBeautifulSoup4 和 pandas 等库,代码如下:

import requests
from bs4 import BeautifulSoup
import pandas as pd

def getHTMLText(url, kv):
    try:
        r = requests.get(url, params=kv)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

def getInfoList(infolist, html):
    soup = BeautifulSoup(html, "html.parser")
    for i in soup('div', 'item J_MouserOnverReq  '):
        try:
            name = i('div','title')[0].string.strip()
            price = i('strong')[0].string
            infolist.append([name, price])
        except:
            continue

def main():
    goods = "耳机"
    depth = 2
    start_url = "https://s.taobao.com/search?initiative_id=tbindexz_20170306&ie=utf8"
    infoList = []
    for i in range(depth):
        try:
            kv = {'q': goods, 's': str(44 * i)}
            html = getHTMLText(start_url, kv)
            getInfoList(infoList, html)
        except:
            continue
    pd.DataFrame(infoList, columns=['商品名称', '价格']).to_excel('info.xlsx', index=False)

if __name__ == "__main__":
    main()

这个程序的作用是根据用户输入的关键词在淘宝网上搜索商品,并从搜索结果中获取每个商品的名称和价格。程序首先定义了两个函数 getHTMLText() 和 getInfoList(),用于分别从淘宝搜索页面获取 HTML 文本和解析信息列表。接着,程序定义了一个 main() 函数,其中使用 params 参数将关键词和页码数拼接到初始 URL 中,发送 HTTP 请求获取 HTML 文本,并解析出商品的名称和价格信息。最后,程序将获取到的商品信息保存到本地文件中,格式为 Excel 表格。

举报

相关推荐

0 条评论