Beispiel #1
0
 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()
Beispiel #2
0
    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
Beispiel #3
0
    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