Scrapy 动态生成初始 URL

本文介绍了如何在Scrapy爬虫项目中动态生成初始URL,以应对网站URL变化频繁的情况。通过自定义中间件或者设置start_requests方法,我们可以根据特定规则或API获取实时的URL列表,从而提高爬虫的灵活性和适应性。

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

import scrapy, json, requests
from bs4 import BeautifulSoup
import pandas as pd


item = WasdeItem()

class WasdeSpider(scrapy.Spider):
    name = 'WASDE'
    allowed_domains = ['usda.library.cornell.edu']

    # 动态生成初始 URL
    def start_requests(self):
        # start_urls = []
        for i in range(1,12):
            url = 'https://usda.library.cornell.edu/concern/publications/3t945q76s?locale=en&page={page}#release-items'.format(page=i)
            yield scrapy.Request(url=url, callback=self.parse)

    # 解析每个 start_requests 中的初始 URL
    def parse(self, response):
        html = response.body
        soup = BeautifulSoup(html, 'lxml')
        trs = soup.select('#release-items > tr')
        for tr in trs:
            a_s = tr.select('a.file_download')
            for a in a_s:
                release_date = a.get('data-release-date').strip()
                release_date = pd.to_datetime(release_date).strftime('%Y%m%d')

                WasdeSpider.released_date_ls
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值