def insert_items(): with open('setup_db.json') as data_file: json_categories = json.load(data_file) for json_category in json_categories['categories']: category = Category() category.name = json_category['name'] session.add(category) session.commit() for json_item in json_category['items']: item = Item() item.name = json_item['name'] item.description = json_item['description'] item.date = datetime.datetime.utcnow() item.category = category session.add(item) session.commit() session.close()
def get_items(soup): """ 接收 parase() 方法传递的 beautifulsoup 对象,得到包含着Item对象的列表 :param soup: beautifulsoup 对象 :return: 包含着Item对象的列表 """ ul_container = soup.select('.leftWrap.discovery_list')[0] # 获取包含着所有物品的那个<ul>标签 all_items = ul_container.select('li') items = [] # 一个装着Item对象的列表 for item in all_items: # 循环中,每一个item都代表<ul>标签下的一个<li>标签 this_item = Item() # 实例化一个新的Item对象 this_item.articleid = item['articleid'] # 获取该<li>标签的 articleid 属性 this_item.link = item.select_one('.picBox')['href'] # 获取链接 this_item.title = item.select_one('.itemName').select_one('.black').text # 获取这个商品的标题 this_item.price = item.select_one('.itemName').select_one('.red').text # 获取这个商品的价格 this_item.date = item.select_one('.time').text items.append(this_item) # 添加当前的Item对象到items列表 return items
def get_items(soup): """ 接收 parase() 方法传递的 beautifulsoup 对象,得到包含着Item对象的列表 :param soup: beautifulsoup 对象 :return: 包含着Item对象的列表 """ ul_container = soup.select('.leftWrap.discovery_list')[ 0] # 获取包含着所有物品的那个<ul>标签 all_items = ul_container.select('li') items = [] # 一个装着Item对象的列表 for item in all_items: # 循环中,每一个item都代表<ul>标签下的一个<li>标签 this_item = Item() # 实例化一个新的Item对象 this_item.articleid = item['articleid'] # 获取该<li>标签的 articleid 属性 this_item.link = item.select_one('.picBox')['href'] # 获取链接 this_item.title = item.select_one('.itemName').select_one( '.black').text # 获取这个商品的标题 this_item.price = item.select_one('.itemName').select_one( '.red').text # 获取这个商品的价格 this_item.date = item.select_one('.time').text items.append(this_item) # 添加当前的Item对象到items列表 return items