Python scrapy爬虫 生成 启动 crawlspider命令 爬取示例网站的数据案例

该文章展示了一个结合Scrapy框架和Selenium库来爬取网页数据的例子。首先创建了一个Scrapy项目和爬虫,然后利用Selenium的无头浏览器模式(headlessChrome)加载动态内容。爬虫解析HTML,提取特定类别的数据,并遵循链接进入详情页抓取更多信息。整个过程涉及网页解析、请求管理和数据存储。
摘要由CSDN通过智能技术生成

创建一个scrapy项目
scrapy startproject myscrapy
生成一个爬虫
scrapy genspider example example.com
启动爬虫
scrapy crawl example
生成crawlspider
scrapy genspider -t crawl example "example.com"

案例:爬取 网站的数据

import scrapy
from selenium import webdriver
from selenium.webdriver.chrome.options import Options


class Spider(scrapy.Spider):
    name = ''
    allowed_domains = ['.com']
    start_urls = ['http://.com/']
    page = 1

    def __init__(self):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
        chrome_options.add_argument('--disable-gpu')
        self.browser = webdriver.Chrome(executable_path=r'C:\Program Files\Google\Chrome\Application\chromedriver.exe',
                                        chrome_options=chrome_options)

    # def closed(self, spider):
    #     print("spider closed")
    #     self.browser.close()

    def parse(self, response):
        res_div_list = response.xpath("//div[@class='recruit-list']")
        for div in res_div_list:
            item = {}
            item["title"] = div.xpath(".....
            yield scrapy.Request("https://.com/....?...="...., callback=self.detail,
                                 meta={
                                     "item": item
                                 })

        # res = response.xpath("/html").extract()
        # print(res)
        while self.page <= 0:
            self.page += 1
            next_url = self.start_urls[0] + "?index=" + self.page.__str__()
            yield scrapy.Request(next_url, callback=self.parse)  # 这个URL用callback方法处理

    def detail(self, response):
        item = response.meta["item"]
        item["duty"] = response.xpath("//div[@class='duty-text']//li[@class='explain-item']/text()").extract()[0]
        yield item

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hinomoto Oniko

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值