scrapy爬虫框架结合BeautifulSoup

本文介绍如何使用Scrapy框架进行网页爬取。包括安装Scrapy、定义爬取项、编写爬虫代码、配置数据管道等内容。通过实战案例,演示了从安装到运行爬虫的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考教程:https://github.com/yidao620c/core-scrapy
①安装scrapy
pip install scrapy
依赖的包 python-lxml python-dev libffi-dev
在指定目录下创建项目:
$ scrapy startproject weather
②定义Item
Item就是要保存的属性对象,定义在Item.py中
Item 是保存爬取到的数据的容器;其使用方法和python字典类似,并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。

import scrapy
class BkgscrapyItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    name =scrapy.Field()
    pass

③编写spider

import scrapy
from bs4 import BeautifulSoup
from bkgscrapy.items import BkgscrapyItem


class localspider(scrapy.Spider):
    name="myspider"
    allowed_domains=["meizitu.com/"]
    start_urls=['http://www.meizitu.com/']   

def parse(self, response):
        html_doc = response.body
        #html_doc = html_doc.decode('utf-8')
        soup = BeautifulSoup(html_doc,'lxml')
        item =BkgscrapyItem()
        item['name'] = soup.find(id='slider_name')
     return item

④配置pipline
pipelines.py文件在创建项目时已经自动被创建好了,我们更改如下

class BkgscrapyPipeline(object):
    def __init__(self):
        pass
    def process_item(self, item, spider):
        with open('wea.txt','w+') as file:
            city=item['name'][0].encode('utf-8')
            file.write('name:'+str(name)+'\n\n')
        return item

⑤配置运行
在settings.py中,设置

ITEM_PIPELINES = {
   'bkgscrapy.pipelines.BkgscrapyPipeline': 1
}

运行 $ scrapy crawl myspider

实战项目:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值