我正在尝试创建一个蜘蛛以使用日期范围来爬网多个页面。
以下代码可以正常工作,但是我希望创建一个循环,因此我只需输入2个日期并检索2个日期之间的每个日期,而不必手动输入每个日期。我想抓取自2018年1月1日以来的每个日期。该网址与日期完全相同。
'''
class Example(CrawlSpider):
name = 'Example'
allowed_domains = ['example.com.au']
start_urls = ['https://www.example.com.au/example2/2020-06-18'
'''
我正在尝试以下操作,但出现错误:
提高ValueError('请求网址中缺少方案:%s'%self._url)
ValueError:请求网址中缺少方案:h
'''
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from scrapy.selector import Selector
from datetime import timedelta, date
class example(CrawlSpider):
name = 'example'
allowed_domains = ['example.com.au']
def daterange(start_date, end_date):
for n in range(int((end_date - start_date).days)):
yield start_date + timedelta(n)
start_date = date(2020, 6, 26)
end_date = date(2020, 7, 2)
start_urls = 'https://www.example.com.au/example2/'
for single_date in daterange(start_date, end_date):
print(single_date.strftime(start_urls+"%Y-%m-%d"))
rules = (
Rule(LinkExtractor(restrict_xpaths="//td[@class='example__example']/a"),
callback='parse_item', follow=True),
)
def parse_item(self, response):
'''
答案 0 :(得分:0)
使用时间增量和日期。
timbits = tk.Button(Donut, text="Timbits")
timdonuts = tk.Button(Donut, text="Donuts")
timbits.grid(column=80, row=6)
timdonuts.grid(column=120, row=6)