可以爬取淘宝网上搜索关键词后的商品信息,并将其保存在本地文件中。需要使用到 requests
、BeautifulSoup4
和 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 表格。